タグ

ブックマーク / torutk.hatenablog.jp (2)

  • マルチスレッド下におけるログ出力性能測定 - torutkのブログ

    一つのJavaプログラムについて、処理をマルチスレッドで並行性を持つように記述し、複数CPU(マルチコア)上でそのプログラムを実行することにより並列処理を実現しようとした際、ログ出力が実行性能にどれだけ影響を及ぼすのかを把握したい、と考えています。 プログラムの開発(特にデバッグ)においては、ログが使えないと苦労します。ただし、ログを埋め込むと、性能に影響を及ぼします。また、ログレベルを抑制し、実際にはログ出力がなかったとしても、ログレベルの判定処理が動くことで、多少の影響はあります。 最近のログ出力ライブラリはスレッドセーフに作られていますが、それは内部で排他区間を持つことになるので、並列処理においては排他による性能への影響は無視できません。 そこで、同一プロセス内でマルチスレッドにより並行実行するプログラムを作成・実行し、複数スレッドからログを出力すると、実行性能にどれだけ影響を及ぼす

    マルチスレッド下におけるログ出力性能測定 - torutkのブログ
  • 64bit版Javaの実力 - torutkのブログ

    Windows Vista 64bit版上で、JDK 1.6 x86/x64版をインストールして、64bit版の能力を探ってみました。 実験環境の構成 CPU AMD Athlon 64 x2 4200+ メモリ 2GB OS Windows Vista Ultimate 64bit JVM Sun JDK 1.6 U2(1.6.0_02) 64bit長のデータアクセス 2つのスレッドを並列実行させ(デュアルコアPC)、スレッド間で共有する64bitプリミティブ型(long)を排他制御なしに1つのスレッドがwriteしもう1つのスレッドがreadし、意図しない値(32bitで分断)が観測されるか否かを実験しました。writeスレッドは、共有変数に次の2つの値を交互に書き込み続けます。 0xAAAAAAAAAAAAAAAA 0x5555555555555555 readスレッドは、共有変数か

    64bit版Javaの実力 - torutkのブログ
  • 1