0

主なエンティティが数式であるプログラムに取り組んでいます。方程式は double または boolean の結果のみを返すことができます。

問題点:

1- たくさんの方程式。(ファイルごとに ~300)

2-最後に計算ログが必要なので、すべての方程式は何らかの形でログに記録できるはずです。

3- 数百の方程式が何百万回もトリガーされる可能性があるため、可能な限り高速である必要があります。(大きな最適化ループと考えてください)。

4- ログに記録された方程式の特定の出現順序を強制したいのですが、これは必ずしもコードの出現順序と似ているわけではありません。

現在、私は C (または C に少し C++ を加えたもの) を使用しており、すべての方程式を関数のようなマクロとして記述しています。これが正しい方法なのかどうか、私は疑問に思っています。この種の問題は以前に取り組まれたことがありますか? C 以外にこれに適した言語はありますか? また、この特定のクラスの問題について知っておく必要がある設計パターンやプラクティスはありますか?

4

1 に答える 1

0

では、方程式は解釈されずにコンパイルされたコードになっているのでしょうか? ならそれが一番早い。

ただし、ロギングに I/O が含まれる場合、それが最も時間がかかる可能性があり、それをオフにして実行時間を比較することで確実に判断できます。もしそうなら、それを回避する可能な方法は次のとおりです。

  • 数値をフォーマットするのではなく、バイナリで出力を生成します。

  • 長い記録ではなくイベントのように、必要以上に書くことはありません。

  • メモリファイルやソリッドステートディスクへの書き込みなど、ロータリーディスクに縛られないようにします。

于 2012-11-20T00:10:10.370 に答える