Skip to content
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

Change CopyToOutputDirectory="Always" to CopyToOutputDirectory="PreserveNewest" #6493

Merged
merged 1 commit into from
Jan 10, 2025

Conversation

andrewlock
Copy link
Member

Summary of changes

Change CopyToOutputDirectory="Always" to CopyToOutputDirectory="PreserveNewest"

Reason for change

You shouldn't use Always unless you really need to, as it slows things down, by forcing MSBuild to redo a bunch of work

Implementation details

Find and replace

Test coverage

If CI works, I'm happy enough. There's a slim chance some of these do need to be Always, but I doubt it...

@andrewlock andrewlock added the area:builds project files, build scripts, pipelines, versioning, releases, packages label Jan 2, 2025
@andrewlock andrewlock requested review from a team as code owners January 2, 2025 09:25
@andrewlock
Copy link
Member Author

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.

Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6493) - mean (69ms)  : 65, 72
     .   : milestone, 69,
    master - mean (69ms)  : 65, 73
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (6493) - mean (979ms)  : 956, 1002
     .   : milestone, 979,
    master - mean (978ms)  : 953, 1003
     .   : milestone, 978,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6493) - mean (107ms)  : 104, 109
     .   : milestone, 107,
    master - mean (108ms)  : 106, 110
     .   : milestone, 108,

    section CallTarget+Inlining+NGEN
    This PR (6493) - mean (680ms)  : 661, 698
     .   : milestone, 680,
    master - mean (679ms)  : 664, 694
     .   : milestone, 679,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6493) - mean (91ms)  : 89, 93
     .   : milestone, 91,
    master - mean (91ms)  : 89, 93
     .   : milestone, 91,

    section CallTarget+Inlining+NGEN
    This PR (6493) - mean (635ms)  : 619, 651
     .   : milestone, 635,
    master - mean (632ms)  : 615, 649
     .   : milestone, 632,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6493) - mean (193ms)  : 189, 198
     .   : milestone, 193,
    master - mean (194ms)  : 190, 198
     .   : milestone, 194,

    section CallTarget+Inlining+NGEN
    This PR (6493) - mean (1,104ms)  : 1072, 1137
     .   : milestone, 1104,
    master - mean (1,104ms)  : 1073, 1134
     .   : milestone, 1104,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6493) - mean (277ms)  : 271, 284
     .   : milestone, 277,
    master - mean (280ms)  : 275, 284
     .   : milestone, 280,

    section CallTarget+Inlining+NGEN
    This PR (6493) - mean (870ms)  : 845, 894
     .   : milestone, 870,
    master - mean (874ms)  : 846, 901
     .   : milestone, 874,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6493) - mean (267ms)  : 262, 271
     .   : milestone, 267,
    master - mean (267ms)  : 263, 271
     .   : milestone, 267,

    section CallTarget+Inlining+NGEN
    This PR (6493) - mean (852ms)  : 814, 891
     .   : milestone, 852,
    master - mean (856ms)  : 817, 895
     .   : milestone, 856,

Loading

@andrewlock
Copy link
Member Author

Benchmarks Report for appsec 🐌

Benchmarks for #6493 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.158
  • 2 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 205μs 249ns 930ns 2.64 0 0 188.76 KB
master AllCycleSimpleBody netcoreapp3.1 294μs 145ns 543ns 2.64 0 0 196.09 KB
master AllCycleSimpleBody net472 275μs 181ns 677ns 35.8 2.06 0 225.78 KB
master AllCycleMoreComplexBody net6.0 209μs 122ns 440ns 2.72 0 0 192.26 KB
master AllCycleMoreComplexBody netcoreapp3.1 319μs 183ns 710ns 2.7 0 0 199.51 KB
master AllCycleMoreComplexBody net472 273μs 126ns 470ns 36.4 2.05 0 229.3 KB
master ObjectExtractorSimpleBody net6.0 137ns 0.174ns 0.65ns 0.00393 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 192ns 0.156ns 0.564ns 0.00367 0 0 272 B
master ObjectExtractorSimpleBody net472 162ns 0.15ns 0.582ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 2.95μs 1.45ns 5.41ns 0.053 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 3.74μs 2.51ns 9.4ns 0.0504 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 3.59μs 3.43ns 12.8ns 0.603 0.00538 0 3.8 KB
#6493 AllCycleSimpleBody net6.0 205μs 130ns 485ns 2.66 0 0 188.76 KB
#6493 AllCycleSimpleBody netcoreapp3.1 307μs 107ns 387ns 2.6 0 0 196.09 KB
#6493 AllCycleSimpleBody net472 268μs 154ns 598ns 35.8 2.02 0 225.78 KB
#6493 AllCycleMoreComplexBody net6.0 211μs 138ns 516ns 2.63 0 0 192.26 KB
#6493 AllCycleMoreComplexBody netcoreapp3.1 319μs 160ns 554ns 2.7 0 0 199.51 KB
#6493 AllCycleMoreComplexBody net472 287μs 191ns 741ns 36.4 2.07 0 229.3 KB
#6493 ObjectExtractorSimpleBody net6.0 139ns 0.0998ns 0.387ns 0.00393 0 0 280 B
#6493 ObjectExtractorSimpleBody netcoreapp3.1 189ns 0.163ns 0.61ns 0.0037 0 0 272 B
#6493 ObjectExtractorSimpleBody net472 164ns 0.151ns 0.584ns 0.0446 0 0 281 B
#6493 ObjectExtractorMoreComplexBody net6.0 2.93μs 1.01ns 3.64ns 0.0526 0 0 3.78 KB
#6493 ObjectExtractorMoreComplexBody netcoreapp3.1 3.78μs 1.64ns 6.12ns 0.0511 0 0 3.69 KB
#6493 ObjectExtractorMoreComplexBody net472 3.69μs 3.28ns 12.3ns 0.602 0.00568 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 37.8μs 21.9ns 84.7ns 0.45 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 53.9μs 26.3ns 98.4ns 0.43 0 0 32.4 KB
master EncodeArgs net472 66.9μs 18.8ns 67.9ns 5.16 0.0666 0 32.5 KB
master EncodeLegacyArgs net6.0 76.4μs 419ns 2.48μs 0.0392 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 109μs 88.9ns 344ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 157μs 101ns 391ns 0.31 0 0 2.15 KB
#6493 EncodeArgs net6.0 37.2μs 12.1ns 45.1ns 0.447 0 0 32.4 KB
#6493 EncodeArgs netcoreapp3.1 54.1μs 25.8ns 96.4ns 0.431 0 0 32.4 KB
#6493 EncodeArgs net472 67.3μs 70ns 271ns 5.14 0.0672 0 32.5 KB
#6493 EncodeLegacyArgs net6.0 77μs 391ns 1.88μs 0 0 0 2.14 KB
#6493 EncodeLegacyArgs netcoreapp3.1 106μs 160ns 620ns 0 0 0 2.14 KB
#6493 EncodeLegacyArgs net472 154μs 116ns 451ns 0.309 0 0 2.15 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 177μs 203ns 761ns 0 0 0 2.44 KB
master RunWafRealisticBenchmark netcoreapp3.1 188μs 201ns 753ns 0 0 0 2.39 KB
master RunWafRealisticBenchmark net472 201μs 132ns 510ns 0.3 0 0 2.46 KB
master RunWafRealisticBenchmarkWithAttack net6.0 117μs 169ns 655ns 0 0 0 1.47 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 124μs 171ns 664ns 0 0 0 1.46 KB
master RunWafRealisticBenchmarkWithAttack net472 133μs 81.7ns 306ns 0.2 0 0 1.49 KB
#6493 RunWafRealisticBenchmark net6.0 175μs 92.2ns 345ns 0 0 0 2.44 KB
#6493 RunWafRealisticBenchmark netcoreapp3.1 190μs 252ns 978ns 0 0 0 2.39 KB
#6493 RunWafRealisticBenchmark net472 201μs 108ns 417ns 0.3 0 0 2.46 KB
#6493 RunWafRealisticBenchmarkWithAttack net6.0 115μs 42.1ns 152ns 0 0 0 1.47 KB
#6493 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 129μs 137ns 511ns 0 0 0 1.46 KB
#6493 RunWafRealisticBenchmarkWithAttack net472 132μs 35ns 136ns 0.2 0 0 1.49 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Faster 🎉 More allocations ⚠️

Faster 🎉 in #6493

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 1.158 60,450.00 52,200.00 several?

More allocations ⚠️ in #6493

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 253.63 KB 265.4 KB 11.77 KB 4.64%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 252.01 KB 253.77 KB 1.76 KB 0.70%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 58.8μs 526ns 4.82μs 0 0 0 43.44 KB
master StringConcatBenchmark netcoreapp3.1 62μs 859ns 8.59μs 0 0 0 42.64 KB
master StringConcatBenchmark net472 37.7μs 90.3ns 325ns 0 0 0 59.22 KB
master StringConcatAspectBenchmark net6.0 306μs 1.63μs 8.65μs 0 0 0 253.63 KB
master StringConcatAspectBenchmark netcoreapp3.1 332μs 1.8μs 11.8μs 0 0 0 252.01 KB
master StringConcatAspectBenchmark net472 291μs 5.81μs 56μs 0 0 0 278.53 KB
#6493 StringConcatBenchmark net6.0 52.1μs 247ns 1.13μs 0 0 0 43.44 KB
#6493 StringConcatBenchmark netcoreapp3.1 61μs 759ns 7.55μs 0 0 0 42.64 KB
#6493 StringConcatBenchmark net472 37.5μs 133ns 462ns 0 0 0 59.07 KB
#6493 StringConcatAspectBenchmark net6.0 324μs 1.81μs 11.3μs 0 0 0 265.4 KB
#6493 StringConcatAspectBenchmark netcoreapp3.1 338μs 1.57μs 5.88μs 0 0 0 253.77 KB
#6493 StringConcatAspectBenchmark net472 290μs 6.35μs 63.5μs 0 0 0 278.53 KB

@andrewlock
Copy link
Member Author

Benchmarks Report for tracer 🐌

Benchmarks for #6493 compared to master:

  • 4 benchmarks are faster, with geometric mean 1.141
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 7.97μs 45.1ns 299ns 0.0154 0.00768 0 5.62 KB
master StartStopWithChild netcoreapp3.1 10μs 51.7ns 231ns 0.015 0.00499 0 5.81 KB
master StartStopWithChild net472 16.3μs 53.7ns 208ns 1.04 0.307 0.102 6.2 KB
#6493 StartStopWithChild net6.0 8.15μs 47.4ns 424ns 0.0133 0.00665 0 5.61 KB
#6493 StartStopWithChild netcoreapp3.1 9.81μs 53.6ns 308ns 0.019 0.00475 0 5.8 KB
#6493 StartStopWithChild net472 16.4μs 47.3ns 183ns 1.04 0.3 0.0972 6.2 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 463μs 399ns 1.55μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 646μs 542ns 2.1μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 843μs 583ns 2.18μs 0.422 0 0 3.3 KB
#6493 WriteAndFlushEnrichedTraces net6.0 493μs 255ns 989ns 0 0 0 2.7 KB
#6493 WriteAndFlushEnrichedTraces netcoreapp3.1 640μs 268ns 1.04μs 0 0 0 2.7 KB
#6493 WriteAndFlushEnrichedTraces net472 852μs 799ns 2.99μs 0.428 0 0 3.3 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 158μs 1.11μs 10.9μs 0.152 0 0 14.47 KB
master SendRequest netcoreapp3.1 171μs 997ns 9.41μs 0.172 0 0 17.27 KB
master SendRequest net472 0.00395ns 0.00162ns 0.00605ns 0 0 0 0 b
#6493 SendRequest net6.0 153μs 885ns 7.77μs 0.153 0 0 14.47 KB
#6493 SendRequest netcoreapp3.1 171μs 1.11μs 11μs 0.161 0 0 17.27 KB
#6493 SendRequest net472 0.0125ns 0.00289ns 0.0112ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 553μs 2.78μs 11.8μs 0.584 0 0 41.47 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 690μs 3.92μs 29.8μs 0.347 0 0 41.87 KB
master WriteAndFlushEnrichedTraces net472 814μs 3.81μs 15.3μs 8.39 2.52 0.419 53.26 KB
#6493 WriteAndFlushEnrichedTraces net6.0 559μs 1.67μs 6.26μs 0.558 0 0 41.57 KB
#6493 WriteAndFlushEnrichedTraces netcoreapp3.1 736μs 4.4μs 43.8μs 0.381 0 0 41.69 KB
#6493 WriteAndFlushEnrichedTraces net472 822μs 2.7μs 10.4μs 8.39 2.52 0.419 53.27 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.34μs 1.34ns 5.2ns 0.0147 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 1.78μs 1.3ns 4.88ns 0.0132 0 0 1.02 KB
master ExecuteNonQuery net472 2.07μs 1.28ns 4.95ns 0.156 0.00103 0 987 B
#6493 ExecuteNonQuery net6.0 1.29μs 0.856ns 3.09ns 0.0142 0 0 1.02 KB
#6493 ExecuteNonQuery netcoreapp3.1 1.72μs 1.69ns 6.56ns 0.0138 0 0 1.02 KB
#6493 ExecuteNonQuery net472 2.14μs 1.9ns 7.37ns 0.157 0.00107 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.21μs 0.511ns 1.91ns 0.0139 0 0 976 B
master CallElasticsearch netcoreapp3.1 1.65μs 1.53ns 5.94ns 0.0126 0 0 976 B
master CallElasticsearch net472 2.62μs 1.68ns 6.52ns 0.157 0 0 995 B
master CallElasticsearchAsync net6.0 1.25μs 0.358ns 1.29ns 0.0131 0 0 952 B
master CallElasticsearchAsync netcoreapp3.1 1.7μs 1.58ns 6.13ns 0.0138 0 0 1.02 KB
master CallElasticsearchAsync net472 2.62μs 0.899ns 3.48ns 0.166 0 0 1.05 KB
#6493 CallElasticsearch net6.0 1.25μs 1.38ns 5.16ns 0.0137 0 0 976 B
#6493 CallElasticsearch netcoreapp3.1 1.57μs 0.974ns 3.77ns 0.0129 0 0 976 B
#6493 CallElasticsearch net472 2.61μs 6.64ns 25.7ns 0.158 0 0 995 B
#6493 CallElasticsearchAsync net6.0 1.29μs 1.09ns 4.08ns 0.0134 0 0 952 B
#6493 CallElasticsearchAsync netcoreapp3.1 1.72μs 1.04ns 3.88ns 0.0136 0 0 1.02 KB
#6493 CallElasticsearchAsync net472 2.63μs 1.72ns 6.44ns 0.166 0 0 1.05 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.32μs 0.719ns 2.69ns 0.0133 0 0 952 B
master ExecuteAsync netcoreapp3.1 1.57μs 1.71ns 6.63ns 0.0125 0 0 952 B
master ExecuteAsync net472 1.82μs 0.426ns 1.54ns 0.145 0 0 915 B
#6493 ExecuteAsync net6.0 1.2μs 0.567ns 2.2ns 0.0133 0 0 952 B
#6493 ExecuteAsync netcoreapp3.1 1.65μs 0.593ns 2.22ns 0.0123 0 0 952 B
#6493 ExecuteAsync net472 1.82μs 0.475ns 1.84ns 0.145 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 4.49μs 3.02ns 11.7ns 0.0317 0 0 2.31 KB
master SendAsync netcoreapp3.1 5.33μs 1.97ns 7.62ns 0.0374 0 0 2.85 KB
master SendAsync net472 7.31μs 2.11ns 7.9ns 0.495 0 0 3.12 KB
#6493 SendAsync net6.0 4.47μs 1.18ns 4.41ns 0.0314 0 0 2.31 KB
#6493 SendAsync netcoreapp3.1 5.47μs 2.11ns 8.19ns 0.0385 0 0 2.85 KB
#6493 SendAsync net472 7.33μs 1.91ns 7.4ns 0.496 0 0 3.12 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 1.53μs 0.977ns 3.78ns 0.0229 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 2.3μs 0.961ns 3.6ns 0.0217 0 0 1.64 KB
master EnrichedLog net472 2.65μs 3.03ns 10.9ns 0.249 0 0 1.57 KB
#6493 EnrichedLog net6.0 1.51μs 0.736ns 2.65ns 0.0233 0 0 1.64 KB
#6493 EnrichedLog netcoreapp3.1 2.2μs 1.23ns 4.77ns 0.0224 0 0 1.64 KB
#6493 EnrichedLog net472 2.84μs 5.88ns 22.8ns 0.25 0 0 1.57 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 120μs 289ns 1.12μs 0.0598 0 0 4.28 KB
master EnrichedLog netcoreapp3.1 123μs 160ns 621ns 0 0 0 4.28 KB
master EnrichedLog net472 152μs 144ns 556ns 0.676 0.225 0 4.46 KB
#6493 EnrichedLog net6.0 118μs 258ns 964ns 0.0593 0 0 4.28 KB
#6493 EnrichedLog netcoreapp3.1 123μs 82.9ns 321ns 0 0 0 4.28 KB
#6493 EnrichedLog net472 152μs 120ns 434ns 0.685 0.228 0 4.46 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 3.06μs 0.746ns 2.79ns 0.0306 0 0 2.2 KB
master EnrichedLog netcoreapp3.1 4.08μs 1.55ns 6ns 0.0306 0 0 2.2 KB
master EnrichedLog net472 4.97μs 1.53ns 5.73ns 0.319 0 0 2.02 KB
#6493 EnrichedLog net6.0 3.13μs 1.24ns 4.8ns 0.0298 0 0 2.2 KB
#6493 EnrichedLog netcoreapp3.1 4.25μs 2.23ns 8.66ns 0.0298 0 0 2.2 KB
#6493 EnrichedLog net472 4.93μs 1.36ns 5.11ns 0.32 0 0 2.02 KB
Benchmarks.Trace.RedisBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #6493

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑net6.0 1.160 1,485.10 1,280.75

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.48μs 0.398ns 1.49ns 0.0163 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.78μs 1.02ns 3.93ns 0.0156 0 0 1.14 KB
master SendReceive net472 2.16μs 1.14ns 4.41ns 0.183 0 0 1.16 KB
#6493 SendReceive net6.0 1.28μs 0.684ns 2.65ns 0.016 0 0 1.14 KB
#6493 SendReceive netcoreapp3.1 1.7μs 0.641ns 2.48ns 0.0157 0 0 1.14 KB
#6493 SendReceive net472 2.12μs 1.26ns 4.87ns 0.183 0 0 1.16 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.7μs 2.6ns 9.74ns 0.0216 0 0 1.6 KB
master EnrichedLog netcoreapp3.1 3.78μs 1.5ns 5.79ns 0.0209 0 0 1.65 KB
master EnrichedLog net472 4.37μs 2.81ns 10.9ns 0.322 0 0 2.04 KB
#6493 EnrichedLog net6.0 2.73μs 1.06ns 4.1ns 0.022 0 0 1.6 KB
#6493 EnrichedLog netcoreapp3.1 3.87μs 1.85ns 7.17ns 0.0213 0 0 1.65 KB
#6493 EnrichedLog net472 4.31μs 2.96ns 11.5ns 0.323 0 0 2.04 KB
Benchmarks.Trace.SpanBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #6493

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net472 1.153 924.31 801.96
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.125 750.96 667.52

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 446ns 0.354ns 1.37ns 0.00816 0 0 576 B
master StartFinishSpan netcoreapp3.1 570ns 0.269ns 0.932ns 0.00769 0 0 576 B
master StartFinishSpan net472 647ns 0.369ns 1.38ns 0.0917 0 0 578 B
master StartFinishScope net6.0 565ns 0.46ns 1.78ns 0.00961 0 0 696 B
master StartFinishScope netcoreapp3.1 751ns 0.736ns 2.85ns 0.00949 0 0 696 B
master StartFinishScope net472 922ns 1.57ns 6.08ns 0.104 0 0 658 B
#6493 StartFinishSpan net6.0 404ns 0.161ns 0.624ns 0.0081 0 0 576 B
#6493 StartFinishSpan netcoreapp3.1 549ns 0.208ns 0.778ns 0.00778 0 0 576 B
#6493 StartFinishSpan net472 627ns 0.295ns 1.14ns 0.0915 0 0 578 B
#6493 StartFinishScope net6.0 526ns 1.17ns 4.52ns 0.00987 0 0 696 B
#6493 StartFinishScope netcoreapp3.1 668ns 0.765ns 2.96ns 0.00931 0 0 696 B
#6493 StartFinishScope net472 803ns 0.67ns 2.59ns 0.105 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #6493

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 1.127 662.60 587.77

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 662ns 0.418ns 1.62ns 0.00994 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 895ns 0.898ns 3.48ns 0.00937 0 0 696 B
master RunOnMethodBegin net472 1.11μs 0.934ns 3.62ns 0.105 0 0 658 B
#6493 RunOnMethodBegin net6.0 588ns 0.363ns 1.41ns 0.00974 0 0 696 B
#6493 RunOnMethodBegin netcoreapp3.1 892ns 0.354ns 1.37ns 0.00896 0 0 696 B
#6493 RunOnMethodBegin net472 1.07μs 0.626ns 2.42ns 0.104 0 0 658 B

@datadog-ddstaging
Copy link

Datadog Report

Branch report: andrew/fix-copy-output
Commit report: 93f9156
Test service: dd-trace-dotnet

✅ 0 Failed, 236652 Passed, 3380 Skipped, 34h 27m 8.84s Total Time
⌛ 1 Performance Regression

⌛ Performance Regressions vs Default Branch (1)

  • RunWafRealisticBenchmarkWithAttack - Benchmarks.Trace.Asm.AppSecWafBenchmark 128.97µs (+5.62µs, +5%) - Details

@andrewlock andrewlock merged commit fb20dfc into master Jan 10, 2025
112 of 114 checks passed
@andrewlock andrewlock deleted the andrew/fix-copy-output branch January 10, 2025 16:13
@github-actions github-actions bot added this to the vNext-v3 milestone Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:builds project files, build scripts, pipelines, versioning, releases, packages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants