Skip to content

Gleocadie/benchmark interning api #6821

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

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

gleocadie
Copy link
Collaborator

Summary of changes

Reason for change

Implementation details

Test coverage

Other details

@gleocadie gleocadie force-pushed the gleocadie/benchmark-interning-api branch from 593924e to 63438b8 Compare April 4, 2025 12:33
@andrewlock
Copy link
Member

andrewlock commented Apr 4, 2025

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 (6821) - mean (69ms)  : 67, 72
     .   : milestone, 69,
    master - mean (69ms)  : 67, 71
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (6821) - mean (1,008ms)  : 993, 1023
     .   : milestone, 1008,
    master - mean (1,005ms)  : 983, 1027
     .   : milestone, 1005,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6821) - mean (103ms)  : 99, 108
     .   : milestone, 103,
    master - mean (102ms)  : 100, 104
     .   : milestone, 102,

    section CallTarget+Inlining+NGEN
    This PR (6821) - mean (684ms)  : 666, 703
     .   : milestone, 684,
    master - mean (688ms)  : 670, 706
     .   : milestone, 688,

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

    section CallTarget+Inlining+NGEN
    This PR (6821) - mean (640ms)  : 622, 658
     .   : milestone, 640,
    master - mean (644ms)  : 626, 661
     .   : milestone, 644,

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

    section CallTarget+Inlining+NGEN
    This PR (6821) - mean (1,105ms)  : 1077, 1133
     .   : milestone, 1105,
    master - mean (1,104ms)  : 1077, 1130
     .   : milestone, 1104,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6821) - mean (269ms)  : 265, 274
     .   : milestone, 269,
    master - mean (268ms)  : 263, 272
     .   : milestone, 268,

    section CallTarget+Inlining+NGEN
    This PR (6821) - mean (871ms)  : 841, 900
     .   : milestone, 871,
    master - mean (873ms)  : 838, 908
     .   : milestone, 873,

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

    section CallTarget+Inlining+NGEN
    This PR (6821) - mean (856ms)  : 815, 898
     .   : milestone, 856,
    master - mean (860ms)  : 826, 894
     .   : milestone, 860,

Loading

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Apr 4, 2025

Datadog Report

All test runs 7922e20 🔗

2 Total Test Services: 1 Failed, 1 Passed

Test Services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Test Service View
dd-trace-dotnet 12 0 0 255659 2951 22h 33m 54.61s Link
exploration_tests 0 0 0 22085 3 2m 9.57s Link

❌ Failed Tests (12)

This report shows up to 5 failed tests.

  • CheckExporterDoesUsePipeNameEvenIfItDoesNotExist - Datadog.Profiler.IntegrationTests.WindowsOnly.NamedPipeTestcs - Details

    Expand for error
     Expected lines {"[2025-04-07 16:49:46.484 | info | PId: 10020 | TId: 10024] Profiler DLL loaded.", "[2025-04-07 16:49:46.484 | info | PId: 10020 | TId: 10024] Profiler version = 3.15.0", "[2025-04-07 16:49:46.484 | info | PId: 10020 | TId: 10024] Pointer size: 64 bits.", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_PROFILING_CPU_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_PROFILING_WALLTIME_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_PROFILING_EXCEPTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_PROFILING_ALLOCATION_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_PROFILING_CONTENTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_PROFILING_GC_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_PROFILING_HEAP_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_SERVICE env var is set to 'IntegrationTest-Samples.Computer01'", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] Configuration: DD_INTERNAL_PROFILING_ETW_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] .NET Profiler deployment mode: Manual", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] .NET Profiler is explictly enabled.", "[2025-04-07 16:49:46.487 | info | PId: 10020 | TId: 10024] DllGetClassObject(): Returning an instance of CorProfilerCallbackFactory (hr=0x0)", "[2025-04-07 16:49:46.488 | info | PId: 10020 | TId: 10024] CorProfilerCallback is initializing.", "[2025-04-07 16:49:46.488 | info | PId: 10020 | TId: 10024] Enable debug log = 1 from ("DD_TRACE_DEBUG" environment variable)", "[2025-04-07 16:49:46.489 | info | PId: 10020 | TId: 10024] Environment variables:", "[2025-04-07 16:49:46.489 | debug | PId: 10020 | TId: 10024] ProcessStart(Manual)", "[2025-04-07 16:49:46.489 | info | PId: 10020 | TId: 10024] IsWow64Process : False", "[2025-04-07 16:49:46.489 | info | PId: 10020 | TId: 10024] IsWindowsServer: True.", "[2025-04-07 16:49:46.489 | info | PId: 10020 | TId: 10024] GetNativeSystemInfo results: wProcessorArchitecture="x64 AMD or Intel"(=9), dwPageSize=4096, lpMinimumApplicationAddress=0x0000000000010000, lpMaximumApplicationAddress=0x00007FFFFFFEFFFF, dwActiveProcessorMask=0xf, dwNumberOfProcessors=4, dwProcessorType=8664, dwAllocationGranularity=65536, wProcessorLevel=25, wProcessorRevision=257", "[2025-04-07 16:49:46.489 | info | PId: 10020 | TId: 10024] ICorProfilerInfo13 available. Profiling API compatibility: .NET Core 7.0 or later.", "[2025-04-07 16:49:46.489 | info | PId: 10020 | TId: 10024] Initializing the Profiler: Reported runtime version :{ clrInstanceId:9, runtimeType:CORE_CLR, majorVersion: 9, minorVersion: 0, buildNumber: 1, qfeVersion: 0 }", "[2025-04-07 16:49:46.489 | info | PId: 10020 | TId: 10024] No "DD_INTERNAL_OPERATIONAL_METRICS_ENABLED" environment variable has been found. Default: Operational metrics disabled.", "[2025-04-07 16:49:46.489 | info | PId: 10020 | TId: 10024] Using agent endpoint windows:\\.\pipe\ForSureThisPipeDoesNotExist__I_Hope", "[2025-04-07 16:49:46.535 | info | PId: 10020 | TId: 10024] ThreadsCpuManager started successfully.", "[2025-04-07 16:49:46.535 | info | PId: 10020 | TId: 10024] ManagedThreadList started successfully.", "[2025-04-07 16:49:46.535 | info | PId: 10020 | TId: 10024] ManagedThreadList started successfully.", "[2025-04-07 16:49:46.535 | debug | PId: 10020 | TId: 10024] LoadDynamicLibrary: D:\a\1\s\shared\bin\monitoring-home\win-x64\Datadog.Trace.ClrProfiler.Native.dll", "[2025-04-07 16:49:46.535 | debug | PId: 10020 | TId: 10024] GetExternalFunction: GetRuntimeId", "[2025-04-07 16:49:46.535 | info | PId: 10020 | TId: 10024] RuntimeID Store started successfully.", …255 more…} to contain a match of "*failed ddog_prof_Exporter_send: error trying to connect: The system cannot find the file specified. (os error 2):*".
    
  • CheckExporterDoesUsePipeNameEvenIfItDoesNotExist - Datadog.Profiler.IntegrationTests.WindowsOnly.NamedPipeTestcs - Details

    Expand for error
     Expected lines {"[2025-04-07 16:49:23.866 | info | PId: 4700 | TId: 4608] Profiler DLL loaded.", "[2025-04-07 16:49:23.866 | info | PId: 4700 | TId: 4608] Profiler version = 3.15.0", "[2025-04-07 16:49:23.866 | info | PId: 4700 | TId: 4608] Pointer size: 64 bits.", "[2025-04-07 16:49:23.868 | info | PId: 4700 | TId: 4608] Configuration: DD_PROFILING_CPU_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] Configuration: DD_PROFILING_WALLTIME_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] Configuration: DD_PROFILING_EXCEPTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] Configuration: DD_PROFILING_ALLOCATION_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] Configuration: DD_PROFILING_CONTENTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] Configuration: DD_PROFILING_GC_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] Configuration: DD_PROFILING_HEAP_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] Configuration: DD_SERVICE env var is set to 'IntegrationTest-Samples.Computer01'", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] Configuration: DD_INTERNAL_PROFILING_ETW_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] .NET Profiler deployment mode: Manual", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] .NET Profiler is explictly enabled.", "[2025-04-07 16:49:23.869 | info | PId: 4700 | TId: 4608] DllGetClassObject(): Returning an instance of CorProfilerCallbackFactory (hr=0x0)", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] CorProfilerCallback is initializing.", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] Enable debug log = 1 from ("DD_TRACE_DEBUG" environment variable)", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] Environment variables:", "[2025-04-07 16:49:23.870 | debug | PId: 4700 | TId: 4608] ProcessStart(Manual)", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] IsWow64Process : False", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] IsWindowsServer: True.", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] GetNativeSystemInfo results: wProcessorArchitecture="x64 AMD or Intel"(=9), dwPageSize=4096, lpMinimumApplicationAddress=0x0000000000010000, lpMaximumApplicationAddress=0x00007FFFFFFEFFFF, dwActiveProcessorMask=0xf, dwNumberOfProcessors=4, dwProcessorType=8664, dwAllocationGranularity=65536, wProcessorLevel=25, wProcessorRevision=257", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] ICorProfilerInfo12 available. Profiling API compatibility: .NET Core 5.0 or later.", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] Initializing the Profiler: Reported runtime version :{ clrInstanceId:9, runtimeType:CORE_CLR, majorVersion: 6, minorVersion: 0, buildNumber: 36, qfeVersion: 0 }", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] No "DD_INTERNAL_OPERATIONAL_METRICS_ENABLED" environment variable has been found. Default: Operational metrics disabled.", "[2025-04-07 16:49:23.870 | info | PId: 4700 | TId: 4608] Using agent endpoint windows:\\.\pipe\ForSureThisPipeDoesNotExist__I_Hope", "[2025-04-07 16:49:23.897 | info | PId: 4700 | TId: 4608] ThreadsCpuManager started successfully.", "[2025-04-07 16:49:23.897 | info | PId: 4700 | TId: 4608] ManagedThreadList started successfully.", "[2025-04-07 16:49:23.897 | info | PId: 4700 | TId: 4608] ManagedThreadList started successfully.", "[2025-04-07 16:49:23.897 | debug | PId: 4700 | TId: 4608] LoadDynamicLibrary: D:\a\1\s\shared\bin\monitoring-home\win-x64\Datadog.Trace.ClrProfiler.Native.dll", "[2025-04-07 16:49:23.897 | debug | PId: 4700 | TId: 4608] GetExternalFunction: GetRuntimeId", "[2025-04-07 16:49:23.897 | info | PId: 4700 | TId: 4608] RuntimeID Store started successfully.", …273 more…} to contain a match of "*failed ddog_prof_Exporter_send: error trying to connect: The system cannot find the file specified. (os error 2):*".
    
  • CheckExporterDoesUsePipeNameEvenIfItDoesNotExist - Datadog.Profiler.IntegrationTests.WindowsOnly.NamedPipeTestcs - Details

    Expand for error
     Expected lines {"[2025-04-07 16:49:57.781 | info | PId: 7776 | TId: 1652] Profiler DLL loaded.", "[2025-04-07 16:49:57.781 | info | PId: 7776 | TId: 1652] Profiler version = 3.15.0", "[2025-04-07 16:49:57.781 | info | PId: 7776 | TId: 1652] Pointer size: 64 bits.", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_PROFILING_CPU_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_PROFILING_WALLTIME_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_PROFILING_EXCEPTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_PROFILING_ALLOCATION_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_PROFILING_CONTENTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_PROFILING_GC_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_PROFILING_HEAP_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_SERVICE env var is set to 'IntegrationTest-Samples.Computer01'", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] Configuration: DD_INTERNAL_PROFILING_ETW_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] .NET Profiler deployment mode: Manual", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] .NET Profiler is explictly enabled.", "[2025-04-07 16:49:57.784 | info | PId: 7776 | TId: 1652] DllGetClassObject(): Returning an instance of CorProfilerCallbackFactory (hr=0x0)", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] CorProfilerCallback is initializing.", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] Enable debug log = 1 from ("DD_TRACE_DEBUG" environment variable)", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] Environment variables:", "[2025-04-07 16:49:57.785 | debug | PId: 7776 | TId: 1652] ProcessStart(Manual)", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] IsWow64Process : False", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] IsWindowsServer: True.", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] GetNativeSystemInfo results: wProcessorArchitecture="x64 AMD or Intel"(=9), dwPageSize=4096, lpMinimumApplicationAddress=0x0000000000010000, lpMaximumApplicationAddress=0x00007FFFFFFEFFFF, dwActiveProcessorMask=0xf, dwNumberOfProcessors=4, dwProcessorType=8664, dwAllocationGranularity=65536, wProcessorLevel=25, wProcessorRevision=257", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] ICorProfilerInfo11 available. Profiling API compatibility: .NET Core 3.1 or later.", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] Initializing the Profiler: Reported runtime version :{ clrInstanceId:9, runtimeType:CORE_CLR, majorVersion: 4, minorVersion: 0, buildNumber: 30319, qfeVersion: 0 }", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] Event-based profilers (Allocation, LockContention, Live Heap and GC) are not supported for .NET3.1 (.NET 5+ is required)", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] No "DD_INTERNAL_OPERATIONAL_METRICS_ENABLED" environment variable has been found. Default: Operational metrics disabled.", "[2025-04-07 16:49:57.785 | info | PId: 7776 | TId: 1652] Using agent endpoint windows:\\.\pipe\ForSureThisPipeDoesNotExist__I_Hope", "[2025-04-07 16:49:57.807 | info | PId: 7776 | TId: 1652] ThreadsCpuManager started successfully.", "[2025-04-07 16:49:57.807 | info | PId: 7776 | TId: 1652] ManagedThreadList started successfully.", "[2025-04-07 16:49:57.807 | info | PId: 7776 | TId: 1652] ManagedThreadList started successfully.", "[2025-04-07 16:49:57.807 | debug | PId: 7776 | TId: 1652] LoadDynamicLibrary: D:\a\1\s\shared\bin\monitoring-home\win-x64\Datadog.Trace.ClrProfiler.Native.dll", "[2025-04-07 16:49:57.807 | debug | PId: 7776 | TId: 1652] GetExternalFunction: GetRuntimeId", …240 more…} to contain a match of "*failed ddog_prof_Exporter_send: error trying to connect: The system cannot find the file specified. (os error 2):*".
    
  • CheckExporterDoesUsePipeNameEvenIfItDoesNotExist - Datadog.Profiler.IntegrationTests.WindowsOnly.NamedPipeTestcs - Details

    Expand for error
     Expected lines {"[2025-04-07 16:49:35.190 | info | PId: 8512 | TId: 4524] Profiler DLL loaded.", "[2025-04-07 16:49:35.190 | info | PId: 8512 | TId: 4524] Profiler version = 3.15.0", "[2025-04-07 16:49:35.190 | info | PId: 8512 | TId: 4524] Pointer size: 64 bits.", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_PROFILING_CPU_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_PROFILING_WALLTIME_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_PROFILING_EXCEPTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_PROFILING_ALLOCATION_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_PROFILING_CONTENTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_PROFILING_GC_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_PROFILING_HEAP_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_SERVICE env var is set to 'IntegrationTest-Samples.Computer01'", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] Configuration: DD_INTERNAL_PROFILING_ETW_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] .NET Profiler deployment mode: Manual", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] .NET Profiler is explictly enabled.", "[2025-04-07 16:49:35.193 | info | PId: 8512 | TId: 4524] DllGetClassObject(): Returning an instance of CorProfilerCallbackFactory (hr=0x0)", "[2025-04-07 16:49:35.194 | info | PId: 8512 | TId: 4524] CorProfilerCallback is initializing.", "[2025-04-07 16:49:35.194 | info | PId: 8512 | TId: 4524] Enable debug log = 1 from ("DD_TRACE_DEBUG" environment variable)", "[2025-04-07 16:49:35.194 | info | PId: 8512 | TId: 4524] Environment variables:", "[2025-04-07 16:49:35.194 | debug | PId: 8512 | TId: 4524] ProcessStart(Manual)", "[2025-04-07 16:49:35.195 | info | PId: 8512 | TId: 4524] IsWow64Process : False", "[2025-04-07 16:49:35.195 | info | PId: 8512 | TId: 4524] IsWindowsServer: True.", "[2025-04-07 16:49:35.195 | info | PId: 8512 | TId: 4524] GetNativeSystemInfo results: wProcessorArchitecture="x64 AMD or Intel"(=9), dwPageSize=4096, lpMinimumApplicationAddress=0x0000000000010000, lpMaximumApplicationAddress=0x00007FFFFFFEFFFF, dwActiveProcessorMask=0xf, dwNumberOfProcessors=4, dwProcessorType=8664, dwAllocationGranularity=65536, wProcessorLevel=25, wProcessorRevision=257", "[2025-04-07 16:49:35.195 | info | PId: 8512 | TId: 4524] ICorProfilerInfo8 available. Profiling API compatibility: .NET Fx 4.7.2 or later.", "[2025-04-07 16:49:35.195 | info | PId: 8512 | TId: 4524] Initializing the Profiler: Reported runtime version :{ clrInstanceId:7, runtimeType:DESKTOP_CLR, majorVersion: 4, minorVersion: 0, buildNumber: 30319, qfeVersion: 0 }", "[2025-04-07 16:49:35.195 | info | PId: 8512 | TId: 4524] No "DD_INTERNAL_OPERATIONAL_METRICS_ENABLED" environment variable has been found. Default: Operational metrics disabled.", "[2025-04-07 16:49:35.195 | info | PId: 8512 | TId: 4524] Using agent endpoint windows:\\.\pipe\ForSureThisPipeDoesNotExist__I_Hope", "[2025-04-07 16:49:35.217 | info | PId: 8512 | TId: 4524] ThreadsCpuManager started successfully.", "[2025-04-07 16:49:35.217 | info | PId: 8512 | TId: 4524] ManagedThreadList started successfully.", "[2025-04-07 16:49:35.217 | info | PId: 8512 | TId: 4524] ManagedThreadList started successfully.", "[2025-04-07 16:49:35.217 | debug | PId: 8512 | TId: 4524] LoadDynamicLibrary: D:\a\1\s\shared\bin\monitoring-home\win-x64\Datadog.Trace.ClrProfiler.Native.dll", "[2025-04-07 16:49:35.217 | debug | PId: 8512 | TId: 4524] GetExternalFunction: GetRuntimeId", "[2025-04-07 16:49:35.217 | info | PId: 8512 | TId: 4524] RuntimeID Store started successfully.", …270 more…} to contain a match of "*failed ddog_prof_Exporter_send: error trying to connect: The system cannot find the file specified. (os error 2):*".
    
  • CheckExporterDoesUsePipeNameEvenIfItDoesNotExist - Datadog.Profiler.IntegrationTests.WindowsOnly.NamedPipeTestcs - Details

    Expand for error
     Expected lines {"[2025-04-07 16:50:09.027 | info | PId: 8412 | TId: 6364] Profiler DLL loaded.", "[2025-04-07 16:50:09.028 | info | PId: 8412 | TId: 6364] Profiler version = 3.15.0", "[2025-04-07 16:50:09.028 | info | PId: 8412 | TId: 6364] Pointer size: 64 bits.", "[2025-04-07 16:50:09.031 | info | PId: 8412 | TId: 6364] Configuration: DD_PROFILING_CPU_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:50:09.031 | info | PId: 8412 | TId: 6364] Configuration: DD_PROFILING_WALLTIME_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] Configuration: DD_PROFILING_EXCEPTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] Configuration: DD_PROFILING_ALLOCATION_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] Configuration: DD_PROFILING_CONTENTION_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] Configuration: DD_PROFILING_GC_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] Configuration: DD_PROFILING_HEAP_ENABLED env var is not set - '0' is used as default value", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] Configuration: DD_SERVICE env var is set to 'IntegrationTest-Samples.Computer01'", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] Configuration: DD_INTERNAL_PROFILING_ETW_ENABLED env var is not set - '1' is used as default value", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] .NET Profiler deployment mode: Manual", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] .NET Profiler is explictly enabled.", "[2025-04-07 16:50:09.032 | info | PId: 8412 | TId: 6364] DllGetClassObject(): Returning an instance of CorProfilerCallbackFactory (hr=0x0)", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] CorProfilerCallback is initializing.", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] Enable debug log = 1 from ("DD_TRACE_DEBUG" environment variable)", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] Environment variables:", "[2025-04-07 16:50:09.033 | debug | PId: 8412 | TId: 6364] ProcessStart(Manual)", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] IsWow64Process : False", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] IsWindowsServer: True.", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] GetNativeSystemInfo results: wProcessorArchitecture="x64 AMD or Intel"(=9), dwPageSize=4096, lpMinimumApplicationAddress=0x0000000000010000, lpMaximumApplicationAddress=0x00007FFFFFFEFFFF, dwActiveProcessorMask=0xf, dwNumberOfProcessors=4, dwProcessorType=8664, dwAllocationGranularity=65536, wProcessorLevel=25, wProcessorRevision=257", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] ICorProfilerInfo13 available. Profiling API compatibility: .NET Core 7.0 or later.", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] Initializing the Profiler: Reported runtime version :{ clrInstanceId:9, runtimeType:CORE_CLR, majorVersion: 8, minorVersion: 0, buildNumber: 14, qfeVersion: 0 }", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] No "DD_INTERNAL_OPERATIONAL_METRICS_ENABLED" environment variable has been found. Default: Operational metrics disabled.", "[2025-04-07 16:50:09.033 | info | PId: 8412 | TId: 6364] Using agent endpoint windows:\\.\pipe\ForSureThisPipeDoesNotExist__I_Hope", "[2025-04-07 16:50:09.055 | info | PId: 8412 | TId: 6364] ThreadsCpuManager started successfully.", "[2025-04-07 16:50:09.055 | info | PId: 8412 | TId: 6364] ManagedThreadList started successfully.", "[2025-04-07 16:50:09.055 | info | PId: 8412 | TId: 6364] ManagedThreadList started successfully.", "[2025-04-07 16:50:09.055 | debug | PId: 8412 | TId: 6364] LoadDynamicLibrary: D:\a\1\s\shared\bin\monitoring-home\win-x64\Datadog.Trace.ClrProfiler.Native.dll", "[2025-04-07 16:50:09.055 | debug | PId: 8412 | TId: 6364] GetExternalFunction: GetRuntimeId", "[2025-04-07 16:50:09.055 | info | PId: 8412 | TId: 6364] RuntimeID Store started successfully.", …268 more…} to contain a match of "*failed ddog_prof_Exporter_send: error trying to connect: The system cannot find the file specified. (os error 2):*".
    

@gleocadie gleocadie force-pushed the gleocadie/benchmark-interning-api branch 3 times, most recently from 37abc3e to ff04fdd Compare April 4, 2025 21:54
@andrewlock
Copy link
Member

andrewlock commented Apr 4, 2025

Benchmarks Report for tracer 🐌

Benchmarks for #6821 compared to master:

  • 2 benchmarks are faster, with geometric mean 1.254
  • 2 benchmarks are slower, with geometric mean 1.131
  • 1 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.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.9μs 45.2ns 326ns 0.0158 0.00788 0 5.61 KB
master StartStopWithChild netcoreapp3.1 9.96μs 53.6ns 294ns 0.024 0.00959 0 5.8 KB
master StartStopWithChild net472 16.3μs 65.8ns 255ns 1.05 0.307 0.105 6.21 KB
#6821 StartStopWithChild net6.0 8.17μs 44.9ns 273ns 0.0116 0.00777 0 5.61 KB
#6821 StartStopWithChild netcoreapp3.1 10.2μs 56.3ns 356ns 0.0202 0.0101 0 5.8 KB
#6821 StartStopWithChild net472 16.4μs 73.2ns 274ns 1.04 0.3 0.0973 6.21 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 504μs 428ns 1.6μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 653μs 714ns 2.67μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 850μs 754ns 2.92μs 0.422 0 0 3.3 KB
#6821 WriteAndFlushEnrichedTraces net6.0 507μs 726ns 2.81μs 0 0 0 2.7 KB
#6821 WriteAndFlushEnrichedTraces netcoreapp3.1 674μs 387ns 1.45μs 0 0 0 2.7 KB
#6821 WriteAndFlushEnrichedTraces net472 846μs 798ns 3.09μs 0.419 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 127μs 442ns 1.71μs 0.191 0 0 14.47 KB
master SendRequest netcoreapp3.1 147μs 136ns 528ns 0.22 0 0 17.27 KB
master SendRequest net472 0.000385ns 0.000222ns 0.00086ns 0 0 0 0 b
#6821 SendRequest net6.0 136μs 617ns 2.39μs 0.197 0 0 14.47 KB
#6821 SendRequest netcoreapp3.1 149μs 122ns 472ns 0.222 0 0 17.27 KB
#6821 SendRequest net472 0.000584ns 0.000313ns 0.00117ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #6821

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.53 KB 41.79 KB 261 B 0.63%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 609μs 3.4μs 30.1μs 0.566 0 0 41.64 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 773μs 4.45μs 37μs 0.374 0 0 41.53 KB
master WriteAndFlushEnrichedTraces net472 859μs 4.14μs 16.6μs 8.19 2.59 0.431 53.34 KB
#6821 WriteAndFlushEnrichedTraces net6.0 596μs 3.5μs 34.3μs 0.628 0 0 41.51 KB
#6821 WriteAndFlushEnrichedTraces netcoreapp3.1 754μs 4.35μs 37.4μs 0.34 0 0 41.79 KB
#6821 WriteAndFlushEnrichedTraces net472 873μs 4.58μs 22.4μs 8.25 2.6 0.434 53.34 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.35μs 1.57ns 6.07ns 0.0142 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 1.78μs 2.7ns 9.74ns 0.0134 0 0 1.02 KB
master ExecuteNonQuery net472 2.13μs 3.31ns 12.8ns 0.156 0.00106 0 987 B
#6821 ExecuteNonQuery net6.0 1.37μs 1.6ns 6.21ns 0.0143 0 0 1.02 KB
#6821 ExecuteNonQuery netcoreapp3.1 1.88μs 3.36ns 13ns 0.0141 0 0 1.02 KB
#6821 ExecuteNonQuery net472 2.06μs 2.98ns 11.5ns 0.156 0.00104 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.27μs 0.683ns 2.55ns 0.0136 0 0 976 B
master CallElasticsearch netcoreapp3.1 1.63μs 0.896ns 3.35ns 0.0131 0 0 976 B
master CallElasticsearch net472 2.59μs 1.54ns 5.75ns 0.158 0 0 995 B
master CallElasticsearchAsync net6.0 1.3μs 0.873ns 3.38ns 0.0136 0 0 952 B
master CallElasticsearchAsync netcoreapp3.1 1.61μs 0.364ns 1.36ns 0.0137 0 0 1.02 KB
master CallElasticsearchAsync net472 2.65μs 0.819ns 3.17ns 0.167 0 0 1.05 KB
#6821 CallElasticsearch net6.0 1.2μs 0.318ns 1.19ns 0.0138 0 0 976 B
#6821 CallElasticsearch netcoreapp3.1 1.54μs 1.16ns 4.48ns 0.0129 0 0 976 B
#6821 CallElasticsearch net472 2.63μs 3.31ns 12.8ns 0.157 0 0 995 B
#6821 CallElasticsearchAsync net6.0 1.27μs 0.646ns 2.5ns 0.0134 0 0 952 B
#6821 CallElasticsearchAsync netcoreapp3.1 1.7μs 0.601ns 2.33ns 0.0144 0 0 1.02 KB
#6821 CallElasticsearchAsync net472 2.77μs 1.67ns 6.45ns 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.28μs 0.423ns 1.58ns 0.0135 0 0 952 B
master ExecuteAsync netcoreapp3.1 1.64μs 0.475ns 1.84ns 0.0122 0 0 952 B
master ExecuteAsync net472 1.83μs 0.42ns 1.63ns 0.145 0 0 915 B
#6821 ExecuteAsync net6.0 1.35μs 0.792ns 2.96ns 0.0135 0 0 952 B
#6821 ExecuteAsync netcoreapp3.1 1.56μs 0.874ns 3.03ns 0.0126 0 0 952 B
#6821 ExecuteAsync net472 1.77μs 0.39ns 1.46ns 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.42μs 2.14ns 8.02ns 0.0309 0 0 2.31 KB
master SendAsync netcoreapp3.1 5.31μs 2.2ns 8.52ns 0.0372 0 0 2.85 KB
master SendAsync net472 7.67μs 2.04ns 7.88ns 0.496 0 0 3.12 KB
#6821 SendAsync net6.0 4.31μs 1.48ns 5.53ns 0.0323 0 0 2.31 KB
#6821 SendAsync netcoreapp3.1 5.63μs 1.06ns 3.83ns 0.0391 0 0 2.85 KB
#6821 SendAsync net472 7.4μs 1.83ns 7.1ns 0.492 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.51μs 1.35ns 5.06ns 0.0239 0 0 1.69 KB
master EnrichedLog netcoreapp3.1 2.36μs 2.17ns 7.82ns 0.0235 0 0 1.69 KB
master EnrichedLog net472 2.62μs 2.35ns 8.47ns 0.257 0 0 1.62 KB
#6821 EnrichedLog net6.0 1.58μs 0.694ns 2.6ns 0.0237 0 0 1.69 KB
#6821 EnrichedLog netcoreapp3.1 2.31μs 0.727ns 2.72ns 0.0224 0 0 1.69 KB
#6821 EnrichedLog net472 2.58μs 1.53ns 5.91ns 0.257 0 0 1.62 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 112μs 113ns 438ns 0 0 0 4.3 KB
master EnrichedLog netcoreapp3.1 116μs 115ns 430ns 0.058 0 0 4.3 KB
master EnrichedLog net472 150μs 143ns 556ns 0.677 0.226 0 4.49 KB
#6821 EnrichedLog net6.0 114μs 175ns 678ns 0.0571 0 0 4.3 KB
#6821 EnrichedLog netcoreapp3.1 118μs 116ns 451ns 0.0586 0 0 4.3 KB
#6821 EnrichedLog net472 152μs 88.7ns 343ns 0.696 0.232 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #6821

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.NLogBenchmark.EnrichedLog‑net6.0 1.122 2,889.28 3,242.23

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.89μs 0.478ns 1.72ns 0.0318 0 0 2.25 KB
master EnrichedLog netcoreapp3.1 4.19μs 1.37ns 5.14ns 0.0292 0 0 2.25 KB
master EnrichedLog net472 4.97μs 3.67ns 14.2ns 0.328 0 0 2.07 KB
#6821 EnrichedLog net6.0 3.24μs 0.877ns 3.4ns 0.0308 0 0 2.25 KB
#6821 EnrichedLog netcoreapp3.1 4.25μs 2.51ns 9.71ns 0.0297 0 0 2.25 KB
#6821 EnrichedLog net472 4.92μs 1.34ns 5.2ns 0.329 0 0 2.07 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.37μs 0.575ns 2.15ns 0.0165 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.75μs 0.857ns 3.32ns 0.0149 0 0 1.14 KB
master SendReceive net472 2.2μs 1.58ns 6.11ns 0.184 0 0 1.16 KB
#6821 SendReceive net6.0 1.37μs 0.768ns 2.88ns 0.0164 0 0 1.14 KB
#6821 SendReceive netcoreapp3.1 1.87μs 1.25ns 4.68ns 0.015 0 0 1.14 KB
#6821 SendReceive net472 2.18μs 1.08ns 4.17ns 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.86μs 2.39ns 9.27ns 0.023 0 0 1.62 KB
master EnrichedLog netcoreapp3.1 4.18μs 4.07ns 15.8ns 0.0229 0 0 1.67 KB
master EnrichedLog net472 4.46μs 1.87ns 7.23ns 0.328 0 0 2.07 KB
#6821 EnrichedLog net6.0 2.76μs 0.792ns 3.07ns 0.0221 0 0 1.62 KB
#6821 EnrichedLog netcoreapp3.1 3.95μs 1.41ns 5.46ns 0.0217 0 0 1.67 KB
#6821 EnrichedLog net472 4.47μs 2.02ns 7.28ns 0.328 0 0 2.07 KB
Benchmarks.Trace.SpanBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #6821

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 1.281 626.03 488.66
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑netcoreapp3.1 1.227 835.93 681.01

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 411ns 0.132ns 0.495ns 0.00802 0 0 576 B
master StartFinishSpan netcoreapp3.1 554ns 0.438ns 1.7ns 0.00795 0 0 576 B
master StartFinishSpan net472 652ns 0.431ns 1.67ns 0.0918 0 0 578 B
master StartFinishScope net6.0 626ns 0.224ns 0.867ns 0.00997 0 0 696 B
master StartFinishScope netcoreapp3.1 836ns 0.316ns 1.22ns 0.0092 0 0 696 B
master StartFinishScope net472 910ns 0.166ns 0.599ns 0.104 0 0 658 B
#6821 StartFinishSpan net6.0 401ns 0.146ns 0.567ns 0.00801 0 0 576 B
#6821 StartFinishSpan netcoreapp3.1 563ns 0.256ns 0.992ns 0.00767 0 0 576 B
#6821 StartFinishSpan net472 639ns 0.33ns 1.19ns 0.0916 0 0 578 B
#6821 StartFinishScope net6.0 489ns 0.18ns 0.675ns 0.00972 0 0 696 B
#6821 StartFinishScope netcoreapp3.1 680ns 0.8ns 3.1ns 0.00945 0 0 696 B
#6821 StartFinishScope net472 826ns 0.241ns 0.935ns 0.104 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #6821

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 1.139 609.09 693.79

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 609ns 0.36ns 1.39ns 0.00974 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 935ns 0.705ns 2.54ns 0.00947 0 0 696 B
master RunOnMethodBegin net472 1.2μs 0.384ns 1.49ns 0.104 0 0 658 B
#6821 RunOnMethodBegin net6.0 694ns 0.81ns 3.14ns 0.00983 0 0 696 B
#6821 RunOnMethodBegin netcoreapp3.1 979ns 0.966ns 3.74ns 0.0092 0 0 696 B
#6821 RunOnMethodBegin net472 1.13μs 1.34ns 5.19ns 0.104 0 0 658 B

@gleocadie gleocadie force-pushed the gleocadie/benchmark-interning-api branch from ff04fdd to 67e67de Compare April 5, 2025 01:14
@gleocadie gleocadie force-pushed the gleocadie/benchmark-interning-api branch 2 times, most recently from 91a68e6 to 9a1c1ee Compare April 7, 2025 13:25
@gleocadie gleocadie force-pushed the gleocadie/benchmark-interning-api branch from 9a1c1ee to c1021d9 Compare April 7, 2025 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants