2009年4月7日火曜日

MPIR 1.0 (GMP replacement)

GMPからforkしたMPIR」というエントリを書いたのは昨年5月末だった。先月(3月)中旬になって、version 1.0のRC7 (release candidate 7)が公開された。特に他の問題がなければ、これがversion 1.0になる予定とのこと。プロジェクトのウェブページMPIR から入手できる。

version 0.9までは、何もしなくてもGMPのヘッダファイルやライブラリファイルの名前でシンボリックリンクを張ってくれた(つまり、gmp.h -> mpir.h や libgmp.so -> libmpir.so といったリンク)。しかし上記のRCでは、configureの際に明示的に指定する必要がある(./configure --enable-gmplink)。また、C++用のインターフェースを作成するにも、明示的な指定が必要である(./configure --enable-cxx)。

まだ詳細なベンチマークなどは取っていない。大まかに試した範囲では、Intelの最近のCPU (Core2, Core i7)上で64bit OSを使っていれば、パフォーマンスはGMPに比べて、2倍から3倍向上するようである。

私が試したのは、Intel Core i7 940 (2.93GHz)上のUbuntu Linux (64bit)である。MPIRのAPIは、GMPと同等のようである。GMP4系列とMPIR 1.0は、バイナリレベルで上位互換の関係とドキュメントに記載がある(2.3 Notes for Package Builds)。簡単に試してみることが出来る。

0 件のコメント: