我一直在编写一些 cython 代码来实现我想在 python 中使用的多精度数组运算(主要是点积和矩阵求逆)。我使用 mpfr 作为底层 C 库,通过在 C 和 Cython 中进行测试,我发现 mpfr(以 200 位精度)比 numpy(以机器精度)慢 50-200 倍(取决于操作)。我知道 mpfr 非常快,但我仍然发现这个开销非常大。由于我的需求非常有限(固定精度,只有基本操作,如加法、乘法等。)我想知道我是否可以手动编写一些多精度操作(不考虑仔细舍入等)。不幸的是,这涉及很多工作,所以我希望在 C 或英特尔汇编中找到一些免费的代码片段,用于进行基本的多精度算术。
更新:我应该提到我已经尝试过 QD 库,它实际上(稍微)慢于类似精度(212 位)的 MPFR。我想这一定是由于 C++ 开销。