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
まぁ、ちょい早いのか。
とりあえず、疲れたので終了。
また同じことになるだろうから、その時考えます。




