Closed rynowak closed 5 years ago
BenchmarkDotNet=v0.10.13, OS=Windows 10.0.17763
Intel Xeon CPU E5620 2.40GHz, 1 CPU, 4 logical cores and 4 physical cores
.NET Core SDK=3.0.100-preview-009750
[Host] : .NET Core 3.0.0-preview1-26907-05 (CoreCLR 4.6.26907.04, CoreFX 4.6.26907.04), 64bit RyuJIT
Job-HUYTCC : .NET Core 3.0.0-preview1-26907-05 (CoreCLR 4.6.26907.04, CoreFX 4.6.26907.04), 64bit RyuJIT
Runtime=Core Server=True Toolchain=.NET Core 3.0
RunStrategy=Throughput
Method | ViewPath | Mean | Error | StdDev | Op/s | Gen 0 | Gen 1 | Allocated |
---|---|---|---|---|---|---|---|---|
RenderView | ~/Views/HelperDynamic.cshtml | 113.33 us | 2.2368 us | 3.1357 us | 8,823.6 | 0.3662 | 0.1221 | 22.62 KB |
RenderView | ~/Views/HelperExtensions.cshtml | 78.15 us | 1.5593 us | 3.9120 us | 12,795.7 | 0.2441 | 0.1221 | 28.9 KB |
RenderView | ~/Views/HelperPartialAsync.cshtml | 770.84 us | 14.5555 us | 13.6152 us | 1,297.3 | 1.9531 | 0.9766 | 182.62 KB |
RenderView | ~/Views/HelperPartialSync.cshtml | 826.26 us | 16.4214 us | 19.5485 us | 1,210.3 | 2.9297 | 0.9766 | 182.62 KB |
RenderView | ~/Views/HelperPartialTagHelper.cshtml | 1,177.60 us | 32.1279 us | 31.5539 us | 849.2 | 1.9531 | - | 216.18 KB |
RenderView | ~/Views/HelperSyntheticAsync.cshtml | 43.87 us | 0.8513 us | 0.9462 us | 22,795.7 | 0.1221 | 0.0610 | 10.79 KB |
RenderView | ~/Views/HelperSyntheticSync.cshtml | 44.65 us | 0.9041 us | 1.5834 us | 22,397.7 | 0.1221 | 0.0610 | 10.79 KB |
RenderView | ~/Views/HelperTyped.cshtml | 89.35 us | 1.6915 us | 1.8099 us | 11,192.5 | 0.2441 | - | 22.62 KB |
The new benchmarks I added are similar to what I anticipate we would codegen if we introduced an equivalent feature to @helper
. I'll discuss this in more detail in on the issue https://github.com/aspnet/Razor/issues/274
Thanks for your effort, @rynowak. As part of the effort to reduce number of repos (https://github.com/aspnet/Announcements/issues/330) we're closing all the PRs in this repo. Please reopen this PR against the AspNetCore repo so we can consider it.
A few minor changes for simplification and bringing things in line with our code style.
Also adding benchmarks here that attempt to simulate what
@helper
codegen would do (both sync and async)./cc @DamianEdwards @m0sa @nickcraver