benchmark_official
目次
公式ページにベンチマーク結果がまとまっていた
どちらかというと他の言語との比較ではなく、計算結果をより高速化するためのアイデア集に近い
https://github.com/JoeStrout/miniscript-benchmarks
Miniscriptを高速に動かすためのTipsについても記載がある
https://github.com/JoeStrout/miniscript-benchmarks/blob/main/PerfIdeas.md
以下 Tipsを適当に翻訳したのを乗っける
TACの最適化
- 変数に計算結果をルックアップ
- 計算対象とする変数をリストから抽出する
- リストを直で読まないようにする(これ具体的にどうするのか不明なのでもうちょっと調べる)
計算範囲を限定化する
- 開始終了ステップを含む特別な状態にしてメモリを大量に持たないようにする(リスト数千もつ場合に有用)
- 大量にメモリを確保するシチュエーションを避ける
- 計算結果は短いメモリで持つようにする
—-
効果があるかわからないもの
Forループ最適化
組込関数のインライン関数化
実行が完了してから時間計測等を行う
時間関数がとっても高価な扱いのため、処理自体を阻害している可能性あり。 あとコマンドライン出力がシリアル通信を行っているため、単なるPrintf等が時間かかることが予想されます。
benchmark_official.txt · 最終更新: 2024/07/27 04:21 by machiaworx