タグ

Javaとbenchmarkに関するtarchanのブックマーク (5)

  • OpenJDK: jmh

    JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targetting the JVM. Links Source Repository Mailing List (archive) Bugs

  • Javaのマイクロベンチマークツール「JMH」 - Taste of Tech Topics

    ブログの読者の皆様方におかれましては、JavaのArrayListとLinkedListの 実装の違いにより性能に差があることは、当然のように熟知のことと存じあげます。 しかし! 実際にいかほどの差があるのか、それを数値で説明できるという方はどれほどいらっしゃるでしょうか。 いきなり丁寧語の煽りでスタートしました @cero_t です。 そう、今日のテーマはマイクロベンチマークです。 たとえば、 文字列を + で結合すると遅い。 ArrayListの初期化時にはサイズを指定したほうが良い。 ArrayListはループ処理が得意、LinkedListは途中の追加が得意。 など、よくあるパフォーマンスのプラクティスについては既に知っているという方も多いと思うのですが 実際に何倍ぐらいの差なのか(どれぐらいのオーダーの差なのか)を数値で話すことができるという方は、 あまり多くないように思います

    Javaのマイクロベンチマークツール「JMH」 - Taste of Tech Topics
  • パフォーマンスチューニングする時の基礎の基礎 - 宇宙行きたい

    みんなパフォーマンスチューニングの環境とかってどうやってるのかなぁと 思ったので書いてみますた. 全然専門外なのでまったく自信無いですが,僕はこうやってるよって事で まずは普通に実装 最初からパフォーマンスを気にして書いちゃうと, 何が有効で何があまり有効でないかわからなくなっちゃうので, とりあえず普通に実装する. (ifelse より switch の方が早いとかやっても微々たるものだし) もちろん,後々のために TDD でやっておく. 計測環境を作る テストケースとして記載する 重い処理を探すために,100回くらい繰り返して実行して 平均を見れるようにする. Java の実行時最適化とかの影響もあると思うので, 最初の一回の時間と平均を見れるようにする. assert も書いておくと,何秒以内を目指すのかが, 残せるので書いておく. StopWatch stopWatch = new

    パフォーマンスチューニングする時の基礎の基礎 - 宇宙行きたい
    tarchan
    tarchan 2009/05/22
    WebKitの開発ではパフォーマンスが落ちるコードはコミットできないって話を思い出した。
  • Java 6のスレッド最適化は実際に動作しているのか? - パートII

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

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

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

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