0

我正在开发一个主要实体是数学方程的程序。方程式只能返回双精度或布尔结果。

问题:

1-很多方程。(每个文件约 300 个)

2-最后必须有一个计算日志,所以每个方程都应该能够以某种方式记录自己。

3-它必须快,尽可能快,因为这几百个方程可以被触发一百万次。(把它想象成一个大的优化循环)。

4-我想强制记录方程的出现顺序不一定与代码相似。

目前,我正在使用 C.(或 C,带有一点 C++),并将每个方程编写为类似函数的宏。我想知道这是否是正确的方法。这类问题以前有解决过吗?有没有其他语言比 C 更适合这个?对于这类特定问题,我是否需要了解任何设计模式或实践?

4

1 回答 1

0

所以方程正在变成编译代码,而不是解释?如果是这样,那是最快的。

但是,如果您的日志记录涉及 I/O,那可能是最大的耗时,您可以通过关闭它并比较执行时间来确定。如果是这样,可能的解决方法是:

  • 以二进制生成输出,而不是格式化数字。

  • 不要写任何你必须写的东西,比如事件而不是长记录。

  • 尽量不要受旋转磁盘限制,例如写入内存文件或固态磁盘。

于 2012-11-20T00:10:10.370 回答