MacBookにGMPと、Math::GMPと、Math::BigInt::GMPをインストールするんだ

GCC4.3をコンパイルするときにGMPが必要になって気がついたのですが、
Math::BigInt::GMPってGMPを入れたら無事にインストールできますね。

- The GNU MP Bignum Library
-- http://gmplib.org/#DOWNLOAD

GMPのバージョンは4.3.2。
GMP自体は、clouderさんの記事をみたら、すんなりインストールできました。

- MacBook AirにGMPをインストールする方法 (Clouder::Blogger)
-- http://blog.clouder.jp/archives/001049.html

でも、その先が、ぜんぜんうまくいかないのです。

そもそもMath::GMPのインストールでこけまくります。

数時間悩んで仕方がないので、portsでMath::GMPをインストール。

$ sudo port install p5-math-gmp


その後、Math::BigInt::GMPをインストールしたら入った。

$ sudo cpan 'Math::BigInt::GMP'


うーん、GMPのバージョンが良くないのでしょうか。
portsは、4.2.2でMath::GMPをテストしていたのです。
でも、僕は、4.2.3をインストールしたので。うーん。

とりあえず、パフォーマンスを計測しました。

計測プログラムはdanさんのところのを使いました。

- 404 Blog Not Found:備忘録 - Intel Mac vs. GMP
-- http://blog.livedoor.jp/dankogai/archives/50712932.html

まずは、Math::BigInt::Calc。
$perl bench.pl Calc 5000
Math::BigInt::Calc at mbibench.pl line 10.
elapsed: 6.72095084190369s


次に、Math::BigInt::GMP。
perl bench.pl GMP 5000
Math::BigInt::GMP at mbibench.pl line 10.
elapsed: 0.470081090927124s


おお、全然早さが違う。あまりの早さに驚きました。

MacBookのCPUがせっかくcore2なので、これも試してみました。

- gmp-4.2.3-core2
-- http://www.geocities.jp/ct35z/gmp-core2.html
このパッチは GMP (GNU Multiple Precision Library) ver. 4.2.3 に Intel Core 2 最適化アセンブリコードを追加するものです。


インストールは無事にうまくいきました。

専用の環境を用意せずにパフォーマンスを計ってみたら、
調子が良いときは、0.01秒くらい速くなりますけど、
調子が悪いと同じくらいですから、体感速度的には誤差範囲です。

これは調子が良いとき。

$ perl bench.pl GMP 5000
Math::BigInt::GMP at bench.pl line 10.
elapsed: 0.438695192337036s


まぁ、ちょい早いのか。

とりあえず、疲れたので終了。
また同じことになるだろうから、その時考えます。


投稿者:としのり  日時:23:59:59 | コメント | トラックバック |
blog comments powered by Disqus