benchmark
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| benchmark [2023/01/22 04:56] – [感想] machiaworx | benchmark [2023/06/12 09:43] (現在) – [感想] machiaworx | ||
|---|---|---|---|
| 行 62: | 行 62: | ||
| ---- | ---- | ||
| - | また、そもそもベンチマークに使ったアルゴリズムは無茶苦茶な量の計算になるので、現実問題としてスクリプト側でやらせるようなやつではないとも考えます。 | + | そもそもベンチマークに使ったアルゴリズムは無茶苦茶な量の計算になるので、現実問題としてスクリプト側でやらせるようなやつではないとも考えます。 |
| (どういう使い方が最適なのか、方針を立てるというのもベンチマークの目的であると考えますし) | (どういう使い方が最適なのか、方針を立てるというのもベンチマークの目的であると考えますし) | ||
| 行 68: | 行 68: | ||
| 日常的なバッチレベルのものだったり他のソフトに投げる程度であれば使うのは有効だけど、Miniscript単体で大量に計算するものだと避けるのは無難って感じだと思います。 | 日常的なバッチレベルのものだったり他のソフトに投げる程度であれば使うのは有効だけど、Miniscript単体で大量に計算するものだと避けるのは無難って感じだと思います。 | ||
| - | ただ、その計算もフィボナッチ数列に匹敵するレベルでなけれ問題ないのはわかったので、言語使う際の方針を立てやすくなったと考えます。 | + | ただ、その計算もフィボナッチ数列に匹敵するレベルでなければ問題ないのはわかったので、言語使う際の方針を立てやすくなったと考えます。 |
| 基本方針は以下の通りかと。 | 基本方針は以下の通りかと。 | ||
| 行 77: | 行 77: | ||
| 管理人のゲーム開発で使う際は以下の基準で利用しています。 | 管理人のゲーム開発で使う際は以下の基準で利用しています。 | ||
| - | * 基本的にはフィボナッチ配列のようにスクリプト上で大量に計算させる処理は避ける(組込関数で実装する等) | + | * 基本的にはフィボナッチ数列のようにスクリプト上で大量に計算させる処理は避ける(組込関数で実装する等) |
| * スクリプトを読むオブジェクトのしきい値は50個を基準にする(うちの環境だとEditor上で問題なく動く基準。本来ならもっと動かせると思うしGPU周りの要因もあるけど。) | * スクリプトを読むオブジェクトのしきい値は50個を基準にする(うちの環境だとEditor上で問題なく動く基準。本来ならもっと動かせると思うしGPU周りの要因もあるけど。) | ||
| * 大量のオブジェクトを動かす場合(1000個程度)ベース言語側で対応する | * 大量のオブジェクトを動かす場合(1000個程度)ベース言語側で対応する | ||
| 行 101: | 行 101: | ||
| ==== 当記事の結論 ==== | ==== 当記事の結論 ==== | ||
| - | 管理人の環境では、Miniscriptは数値計算のベンチマークはとっても遅い。 | + | 管理人の環境では、Miniscriptは再帰的な数値計算のベンチマークはとっても遅い。 |
| ただ、アルゴリズムの改造で遅さをカバー可能。 | ただ、アルゴリズムの改造で遅さをカバー可能。 | ||
| (おそらく実装された記法やリスト・マップの柔軟さに重きを置いてるのかなあと思ったりする。Pythonに近い方向性というか) | (おそらく実装された記法やリスト・マップの柔軟さに重きを置いてるのかなあと思ったりする。Pythonに近い方向性というか) | ||
| + | |||
| ===== ソースコード ===== | ===== ソースコード ===== | ||
benchmark.1674331013.txt.gz · 最終更新: 2023/01/22 04:56 by machiaworx