Archive for インターネット総合研究所


GWTのコンパイルを高速化する方法

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

gwt-logo

 Google I/Oのセッションの一つで、Faster apps faster: Optimizing apps with the GWT Compilerというセッションがあり、そこで公開されていたテクニックです。ここで紹介されたテクニックは、リリース用のバイナリ出力を高速化するテクニックではなく、テスト用のバイナリ出力を高速化するテクニックですので、リリース用のコンパイルは従来通り気長に待ちましょう。

 まず、コンパイルオプションに以下の2つを付けます。最初のオプションは、メタデータの出力を抑制し、2つめのオプションはいくつかの最適化をキャンセルする事でコンパイル速度を上げます。

  • -XdisableClassMetadata
  • -draftCompile

 次に、モジュール作成時に自動生成されるXxxxxx.gwt.xmlの<module>タグ内に以下の記述を追加します。この記述は、safariブラウザのみを利用することを指示します。

  • <set-property name=”user.agent” value=”safari” />

 続いて、以下の記述を追加し、safari用に最適化されたDOMコントロールのみを利用するように指示します。

 <replace-with class="com.google.gwt.user.client.impl.DOMImplSafari">
   <when-type-is class="com.google.gwt.user.client.impl.DOMImpl" />
   <when-property-is name="user.agent" value="safari" />
 </replace-with>

 これでテストするブラウザが決まっている場合は、実行するJavaScriptはそこそこ速く、なおかつコンパイル速度を上げる事ができます。user.agentにはie6, ie8, gecko, gecko1_8, safari, operaが指定できるようです。

 最後に、Internationalization(I18N)を利用している場合には、以下の記述を追加する事で、テスト対象の言語以外は利用しない事を明記する事ができます。

  • <extend-property name=”locale” values=”ja_JP” />

 これで、私の環境では従来3分かかっていたコンパイル速度が1分になりました。

  • Digg
  • del.icio.us
  • Facebook
  • Google
  • hatena
  • LinkedIn
  • Technorati
  • Tumblr
  • TwitThis

Google I/Oのお気に入り展示

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

Google Earthを使ったGreatな展示。Homeボタンはサンフランシスコのイベント会場に飛びます

ドロイド君ががんばって、水平制御します!

  • Digg
  • del.icio.us
  • Facebook
  • Google
  • hatena
  • LinkedIn
  • Technorati
  • Tumblr
  • TwitThis

Google I/O After Hours evening party / part2

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

ゲームの中を実際に歩けるゲーム!

投げた紙飛行機が戻ってくるよ!(作り方も教えていた)

良くわからないけど、ピカピカしてた(笑)

サソリ型ラジコン

これも良くわからなかったロボット

あれ?イケメンが映っているよ(笑) 3Dテレビですが、メガネがないと単なるボヤけたテレビです

  • Digg
  • del.icio.us
  • Facebook
  • Google
  • hatena
  • LinkedIn
  • Technorati
  • Tumblr
  • TwitThis