我正在研究一个主要实体是数学方程式的程序。 方程只能返回一个double或一个布尔结果。
问题:
1-很多方程式。 (每个文件约300个)
2-最后必须有一个计算日志,所以每个等式都应该以某种方式记录自己。
3-它必须尽可能快,因为那几百个方程可以被触发一百万次。 (把它想象成一个很大的优化循环)。
4-我想对已记录的公式强制执行某种出现顺序,这种公式不一定与代码相似。
目前,我正在使用C.(或C,带有一点点C ++),并将每个等式都写成类似函数的宏。我想知道这是否是正确的方法。以前是否解决了这类问题?是否有其他语言比C更适合这个?对于这类特定的问题,我是否需要了解任何设计模式或实践?
答案 0 :(得分:0)
所以方程式转变为编译代码,而不是解释? 如果是这样,那就是最快的。
但是,如果您的日志记录涉及I / O,那么这可能是最大的时间接受者,您可以通过将其关闭并比较执行时间来确定。 如果是这样,可能的方法是:
以二进制格式生成输出,而不是格式化数字。
不要写任何事情,比如事件而不是长记录。
尝试不要旋转磁盘绑定,例如写入内存文件或固态磁盘。