2006年12月13日 04:30 [Edit]
備忘録 - Intel Mac vs. GMP
GMP - The GNU MP Bignum LibraryをIntel Macでbuildするためのメモ。
結論だけ先に書いてしまうと、以下のとおりとなる。
tar jxvf gmp-4.2.1.tar.bz2 cd gmp-4.2.1/mpn/x86 rm *dive_1* */*dive_1* */*/*dive_1* */*mode1o* */*/*mode1o* cd ../.. sh configure --build=i686-apple-darwin --enable-cxx make make check sudo make install
方法としては、以下を抱き合わせた形。
GHC 6.6をインストールすると、/Library/Frameworks/GMPがついてくるので、それを無理矢理使うのもアリなのかも知れないけど、やはり普通に/usr/local/{include,lib}に関係ファイルがインストールされた方が潰しが利くので。
一旦Installしてしまえば、いろいろなところでご利益がある。例えばPerl 5でご利益を享受するには、Math::BigInt::GMPをCPAN Installするだけで、Math::BigIntを使っているコードがぐっと早くなる。
use strict;
use warnings;
use Time::HiRes qw/time/;
require Math::BigInt;
my $lib = shift || 'Calc';
my $factor = shift || 1000;
Math::BigInt->import(lib => $lib);
warn Math::BigInt->config->{lib};
sub bfact{
my $n = shift;
my $mbi = Math::BigInt->new(1);
$mbi->bmul($_) for (1..$n);
return $mbi;
}
my $stated = time();
my $huge = bfact($factor);
bfact($factor)->bcmp($huge) == 0 or die;
warn "elapsed: ", time() - $stated, "s\n";
% perl mbibench.pl Calc 5000 Math::BigInt::Calc at mbibench.pl line 10. elapsed: 11.2520761489868s % perl mbibench.pl GMP 5000 Math::BigInt::GMP at mbibench.pl line 10. elapsed: 0.628172874450684s
Enjoy!
Dan the BigNumbed
Posted by dankogai at 04:30│Comments(0)│TrackBack(2)
この記事へのトラックバックURL
この記事へのトラックバック
で、Io languageとはまた関係ないんですが、GnuMPも OSXに入れる...
ついでに GnuMP on OSX【ラーダっぽい黒75の記】at 2007年02月27日 08:39
ZIGOROuさんのOpenIDの記事を読んで、Net::OpenID::Consumerをインスト...
MacBook AirにGMPをインストールする方法【Clouder::Blogger】at 2008年05月27日 18:16