feat(benchmark): compare supplied Expressif versions - #657
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Added an isolated benchmark test project in commit 5fb4f52. Validation against the manually staged binaries now confirms: (1) the prescribed complex expression parses successfully on NuGet v1.51.0 and fails specifically during construction/binding on the unavailable |
|
Added parse-only benchmarks for both workload sources. With 3 warmups and 5 measurement iterations: complex text parsing is 32.21 µs / 191.3 KB on v1.51.0 versus 62.46 µs / 8.05 KB on next-major (1.94x time, 0.04x allocation); coercion-source parsing is 30.30 µs / 177.7 KB versus 58.74 µs / 7.6 KB (1.94x time, 0.04x allocation). Benchmark adapter tests now validate that both sources parse on both API generations (5 tests passed). |
|
Added native parse+bind benchmarks for both sources (commit 0a84190). Each measurement constructs the expression from source through that version's public API, so it includes parsing and binding together. Results (5 iterations, 3 warmups): complex pipeline — v1 53.14 ms / 2.37 MB, v2 60.78 ms / 2.65 MB (1.14x time, 1.12x allocation); implicit-coercion pipeline — v1 53.30 ms / 2.36 MB, v2 60.99 ms / 2.65 MB (1.14x time, 1.13x allocation). Adapter tests now verify both expressions parse and parse+bind successfully on v1 and v2; 5 tests pass. |
|




Summary
benchmark/Validation
dotnet build benchmark/Expressif.Benchmark.sln -c Releasedotnet build Expressif.sln -c Releasedotnet test Expressif.sln -c Release --no-builddotnet test benchmark/Expressif.Benchmark.sln -c Release— 3 passed with staged v1.51.0 and next-major binariesreplace-chars(" ", "-") | first-chars(10)Close #600