[#45547] openssl がインストールされない — "Hideo Konami" <konami@...>
小波です。Ruby のインストールではまってしまいました。
7 messages
2008/10/12
[#45566] SNMP Libraryのerror_status=1(tooBig)について — "徳島学" <manabu.tokushima@...>
みなさま、こんばんは。とくしまと申します。
5 messages
2008/10/18
[#45572] 簡潔なHASH値のインクリメント — IIDAYUICHI <y_iida@...>
IIDA_Y と申します。
11 messages
2008/10/21
[#45587] ActiveScriptRubyのヘッダファイル — "AOKI Shigeru" <saoki@...>
青木@ナセ工企と申します。
6 messages
2008/10/23
[#45593] Mac OS X でコンパイルした Ruby は遅い? — HIGAKI Masaru (ひがき まさる) <mash@...>
ひがきです。
7 messages
2008/10/26
[#45598] Re: Mac OS X でコンパイルした Ruby は遅い?
— kimura wataru <kimuraw@...>
2008/10/28
木村(わ)といいます。
[ruby-list:45598] Re: Mac OS X でコンパイルした Ruby は遅い?
From:
kimura wataru <kimuraw@...>
Date:
2008-10-28 13:21:02 UTC
List:
ruby-list #45598
木村(わ)といいます。 MacOS X 10.5.5, ruby-1.8.7-p72で同様の状況になることを確認しました。 InstrumentsのSamplerをかけたところ、--enable-pthreadのrubyでは 実行時間の7割近くをrb_call()->getcontext()で費やしていました。 試しに--enable-pthreadを指定して./configureした後、config.hの #define HAVE_GETCONTEXT 1 #define HAVE_SETCONTEXT 1 をコメントアウトしてrubyをコンパイルしたところ、--enable-pthreadなしの rubyとほぼ同様の結果をfib.rbのベンチマークについて得ることができました。 Rubyがgetcontextを使うようコンパイルされるのは、おおざっぱに言って (1)--enable-pthreadがconfigureで指定され (2)ucontextのgetcontext()/setcontext()が利用できるとき(Macなら10.5以降) です。 MacOS X 10.5ではgetcontext()を使った実装よりも、setjump()を使った 実装のほうが、Rubyでは(少なくとも今回のベンチマークの)パフォーマンスに おいて優れているということなんだと思います。 1.9ではgetcontext()/setcontext()を利用していないので、 --enable-pthreadの有無は影響しないということではないでしょうか。 On Sun, 26 Oct 2008 21:08:32 +0900, HIGAKI Masaru (ひがき まさる) wrote: > ひがきです。 > > mixi の Ruby コミュニティで知ったのですが、 > MacPorts でインストールした ruby は、 > Mac OS X 標準の ruby よりも実行速度が遅いそうです。 > > 私は MacPorts を使わずに 1.8.7 をソースからコンパイルして使っていますが、 > 確かに Mac OS X 標準の ruby 1.8.6 と比べると 5 倍近く遅いのです。 > > どうやら configure 時に --enable-pthread が付いていると遅いようです。 > # 1.9 では --enable-pthread の影響はありません。 > > コンパイル時に何かヘマをやらかしているのでしょうか? > -- kimura wataru