タグ

Java6とthreadに関するyyuu5のブックマーク (2)

  • Java 6のスレッド最適化は実際に動作しているのか? - パートII

    この記事のパート1(参考記事)では、私たちはシングルスレッドのベンチマークを用いて、同期されたStringBufferと非同期のStringBuilderのパフォーマンスを比較しました。最初のベンチマーク結果では、他の最適化に比べてバイアスド・ロックが最もパフォーマンス向上に役立つ事が判明しました。このベンチマーク結果は、ロックの獲得が高価なオペレーションであると言う事を示唆しているようでした。しかし、そこでまとめに入る前に、私の同僚のマシンでもベンチマークを走らせて、結果の検証を行おうと決めました。ほとんどの結果は私の発見を裏付けるものでしたが、いくつかの結果は完全に異なりました。パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。 ベン

    Java 6のスレッド最適化は実際に動作しているのか? - パートII
  • Java 6のスレッド最適化は実際に動作しているのか?

    はじめに - Java 6におけるスレッドの最適化 Sun、 IBM、BEAやその他のJVMベンダーが、それぞれのJava 6仮想マシンが提供するロック管理と同期の最適化に多くの注意を払ってきました。バイアスドロック、ロックの粗粒度化、エスケープ解析によるロックの削除、適応型スピンロックといった機能は、すべてアプリケーションのスレッド間でより効果的なオブジェクト共有を可能にし、並列性をより高めるために設計されたものです。こうした個々の機能は洗練されており、興味深いものですが、疑問があります;当にこうした約束を果たしてくれているのでしょうか?2つのパートからなるこの記事では、私はこうした機能を詳しく調査します。シングルスレッドベンチマークの助けを借りて、パフォーマンスに関する疑問に答える試みをしようと思います。 ロックは悲観的である Java でサポートされているロックの(ほとんどのスレッ

    Java 6のスレッド最適化は実際に動作しているのか?
  • 1