タグ

ベンチマークに関するhiroyukimのブックマーク (6)

  • Big Sky :: Ruby の Array#<< は Array#push よりも速いか

    巷の噂で Ruby の Array#<< が Array#push よりも速いと聞いたので調べてみた。まずはベンチマークを取ってみた。 require 'benchmark' Benchmark.bm 10 do |r| r.report "push" do 8000000.times do; [].push(1); end end r.report "<<" do 8000000.times do; [] <<1; end end end 結果は以下の通り。 user     system      total        real push         1.570000   0.000000   1.570000 (  1.579687) <<           1.280000   0.000000   1.280000 (  1.288951) 確かに Array#<< の

    Big Sky :: Ruby の Array#<< は Array#push よりも速いか
  • Java 仮想マシン (JVM) のチューニング

    JVM のヒープ サイズとガベージ コレクション ガベージ コレクションは、Java ヒープ内の使用されていない Java オブジェクトを解放する JVM のプロセスです。Java ヒープは Java プログラムのオブジェクトが存在している場所であり、ライブ オブジェクト、デッド オブジェクト、およびフリー メモリのリポジトリです。実行中のプログラムでどのポインタからもアクセスされなくなると、オブジェクトは「ガベージ (廃棄物)」と見なされ、コレクションの対象となります。 JVM ヒープ サイズによって、ガベージ コレクションを行う頻度とその時間が決定されます。ガベージ コレクションの適切な実行頻度はアプリケーションによって異なるので、ガベージ コレクションの実際の時間と頻度を解析して調整する必要があります。大きいヒープ サイズを設定した場合、ガベージ コレクション全体は低速化しますが、実

  • 分散型メッセージングミドルウェアの詳細比較 | POSTD

    メッセージキュー について書いている連載の続きとして、今週末は分散型メッセージングを実行するための様々なライブラリを詳細に分析していきたいと思います。今回の分析では、APIの特性、デプロイメントやメンテナンスの容易さ、そしてパフォーマンスの質を含めて2、3種類の異なる側面に着目します。メッセージキューは2つのグループに分類できます。ブローカレス(brokerless)とブローカード(brokered)です。ブローカードなキューはエンドポイント間に何かしらのサーバを挟んでいますが、ブローカレスなメッセージキューは、メッセージ送信の際でも間に何も挾まないP2Pです。 今回分析するのは以下のシステムです。 ブローカレス nanomsg ZeroMQ ブローカード ActiveMQ gnatsd Kafka Kestrel NATS NSQ RabbitMQ Redis 取り掛かりとして、ほぼ間違

    分散型メッセージングミドルウェアの詳細比較 | POSTD
  • はてなブログ | 無料ブログを作成しよう

    トルコ水紀行 -前編 イスタンブール- みなさんこんばんは、地図子です!8月は久しぶりに毎月更新にしようと思います。今までずっと名古屋について書いてきましたが、ワープして・・・ トルコについて書きたいと思います。 2024年6月に念願のトルコに行ってきました。いつからトルコに行きたかったかわから…

    はてなブログ | 無料ブログを作成しよう
  • LXCベースのDockerとホストマシンのディスクI/O性能を比較検証(Bonnie++編) - Y-Ken Studio

    dotCloudが開発しているLinuxコンテナ型仮想ソフト「Docker」が巷で話題ですね! これはLXCにストレージドライバとしてunionfsから派生したaufs(CentOSではLVMのThin Provisioning)を組み合わせた所がキモで、つまりファイルシステムの差分管理が出来る特徴があります。 なんだか仕組みを想像する限りディスクI/Oが遅そうな印象ですが、どの程度のものかベンチマークを取りました。 ストレージドライバ Dockerは元々aufsで作られていたのですが、それはAUFS対応のカーネルを入れる前提です。 これはRedHat系ディストリビューションへの対応を行う上での大きなハードルでした。 そこで同様にCoW(CopyOnWrite)を実現出来るLVMのThin Provisioningが採用されています。 ドライバがaufsなのかLVMを扱うためのdevice

    LXCベースのDockerとホストマシンのディスクI/O性能を比較検証(Bonnie++編) - Y-Ken Studio
  • CPUやメモリなどのシステム性能を比較するベンチマークツール | さくらのナレッジ

    このうちCPUの性能を単純に測定できるのがDhrystoneおよびWhetstoneテストで、それぞれ整数演算および浮動小数点演算の性能を測定するものとなっている。また、そのほかのベンチマークテストについては一般的なアプリケーションにおける処理を模したものになっており、システム全体の処理能力を数値化するものになっている。 UnixBenchのインストールと実行 UnixBenchのバイナリは公開されていないため、テストを実行するには自分でコンパイルを行う必要がある。コンパイルにはmakeやGCCなどのコンパイルビルドツールに加え、PerlのTime::HiResモジュールが必要だ。このモジュールはRed Hat Enterprise Linux(RHEL)互換環境の場合、「perl-Time-HiRes」パッケージに含まれているので、これをインストールすれば良い。 # yum instal

    CPUやメモリなどのシステム性能を比較するベンチマークツール | さくらのナレッジ
  • 1