タグ

JAVAと最適化に関するi_matsuiのブックマーク (1)

  • ジッとしてくれないJava VM

    A.for(int i=0; i<list.size(); i++)、B.for(int i=0, size=list.size(); i<size; i++) 普通に実行した場合、最初の1000000回以外が劇的に早くなっています。 何が起きてる? 普通に実行した場合、最初はゆっくりですが、途中から劇的に速くなっています。この動作は、Java VMの「HotSpot」という技術が関係しています(当にそうなのかは、中まで覗いた訳じゃないので推測ですが)。 「HotSpot」の文字が示す通り、Java VMはプログラムを実行中に「ホットスポット」が無いか監視します。一般的な意味での「ホットスポット」とは、局地的に何らかの値が高かったり、局地的に何らかの活動が活発であったりする地点・場所・地域の事です。プログラム中のホットスポットとは、頻繁に実行されるロジックの事です。Java VMはホット

    ジッとしてくれないJava VM
  • 1