2025:03:02
文書の過去の版を表示しています。
3/2日記
その他
- 昼から気を失ってた。
プログラム
- sodaでプログラムを動かしてみたところ、言語のほうがC++版よりC#版のほうが処理が早い事象に遭遇。動画作ってみた。
- 内容としては「大量にメモリ確保したリストにアクセスした際の処理が遅い」というもの。グラフィックやタイマー、コマンドプロンプト周りも確認してみたけど、大きくFPSが変更することはなかった。
- C++のソースコード見た感想からすると、「VMが文字列(インデックス)で管理されてる」「領域は可変だからリストのサイズを毎回走査する事をしている」みたいなんだよね。
- でもそうするとC#側はなんで速度落ちねえんだよって話なわけで。
- 実装もライブラリも違うから、最悪C++/CLI使ってライブラリを同じもの使うとかそういうのになるような。
- ちなみにCryPic.やRe:codeで速度が落ちないのは、単純にリスト管理をNative側で行っているから。
- 今回の問題は「スクリプト言語上で大量にリストを管理する場合」なので、そもそも考慮の必要があるかというと微妙。(ワーストケースとして最初から提示されている内容なので)
- 今後sodaを動かす時同様のケースも想定されるし、何よりMiniMicroに対しSodaを利用する理由がなくなるので、ここは改善する必要があるのではという。
- とは言うもののおそらく言語のVM処理に関する部分なので、しばらくは手を付けられないんじゃないかなという。
2025/03/02.1740911505.txt.gz · 最終更新: 2025/03/02 19:31 by machiaworx