我在 Forth (ANS-94) 中开发了一个大整数系统(用于动态长度的数字),但它太慢了。有没有可用的快速系统?
此外,欢迎任何有关该主题的提示。
我在 Forth (ANS-94) 中开发了一个大整数系统(用于动态长度的数字),但它太慢了。有没有可用的快速系统?
此外,欢迎任何有关该主题的提示。
Forth 科学图书馆包括大有符号数的算术模块。虽然,需要进行测试以查看哪种实现更快。要在 SP-Forth 中使用这个模块,应该包括一些库:
REQUIRE [IF] lib/include/tools.f
REQUIRE M+ lib/include/double.f
S" big.fth" INCLUDED \ just for example
在任何情况下,如果 Forth 生成的代码性能不足(并且算法已经优化),则可以使用动态库(DLL、SO)形式的任何其他实现。
关于性能,在 SP-Forth 4.21 中最好使用动态内存(而不是字典空间)作为缓冲区,因为数据空间和代码空间没有分开。