-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
正規表現をコンパイル済みみして高速化 #335
正規表現をコンパイル済みみして高速化 #335
Conversation
ありがとうございます。大変助かります。以前にコンパイル済みの正規表現のテストを行ったところ、それほど速度アップにつながらなかったので一度却下したことがありました。内容の確認を行ってからのマージになりますので少しお時間をいただけると助かります。 |
mainブランチでのベンチマーク *** AILZ80ASM *** Z-80 Assembler, version 1.0.21.0
|
issue/322ブランチでのベンチマーク *** AILZ80ASM *** Z-80 Assembler, version 1.0.21.0
|
劇的に早くなっていますね。.NET6もしくは8でコンパイル済みの正規表現の扱いがよくなった可能性があるのかもしれません(私の以前の確認方法がよくなった可能性の方が高いとは思いますが)。素晴らしい対応をしていただいてありがとうございます。UnitTestでの確認を行いましたが、コードをすべて確認していませんので確認後にマージさせていただきます。 |
よくわかりませんが、このあたりで .NET8.0でCompiled Regexが(Compiledでないもの?)いろいろ高速化されているようなことが書かれている感じがします。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/#regex |
昔の環境で再テストをする元気がないので(笑)当時評価した結果から想像すると、オプティマイザがCompiled にできるケースの場合はCompiled にしていたか、Compiled のパフォーマンスがそれほどチューニングされていなかったかのどちらかではないかと思っています。自分が評価した時には、前者の挙動っぽいとは思っていました。 このパフォーマンスドキュメントホント面白いですよね。最近さぼって読んでなかったので後で読ませていただきます。 |
ソースコードを確認させていただきました。もともとのソースコードに不具合があった可能性もありますので、それを含めて実際の動作を行いながら評価をさせていただきます。 |
[issues-332] db を使ったときのアセンブル速度について
マージありがとうございました。こちらもマージさせていただきます。ありがとうございました。 |
issue #322 に関して正規表現の部分をコンパイル済み正規表現にして高速化してみました。
C#はHello Worldしかやったことなく流儀を知らず、AI頼みの修正になっているのでこれで良いかわかりませんが、プルリクエストをお送りします。
ビルドも、よく理解していないのですが、
dotnet build
でビルドして動作させ、dotnet test
でテストも通っているように思います。失礼な点があればご容赦ください。