-
Notifications
You must be signed in to change notification settings - Fork 4
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
[Perf] Windows/x64: 41 Improvements on 2/9/2023 4:10:34 PM #12986
Comments
Run Information
Improvements in System.Collections.ContainsKeyTrue<String, String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue<String, String>*' PayloadsHistogramSystem.Collections.ContainsKeyTrue<String, String>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository |
Run Information
Improvements in Microsoft.Extensions.Logging.LoggingOverhead
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.Logging.LoggingOverhead*' PayloadsHistogramMicrosoft.Extensions.Logging.LoggingOverhead.TwoArguments
Description of detection logic
; Microsoft.Extensions.Logging.LoggerExtensions.Log(Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.LogLevel, Microsoft.Extensions.Logging.EventId, System.Exception, System.String, System.Object[])
push rdi
push rsi
push rbp
push rbx
sub rsp,68
xor eax,eax
mov [rsp+38],rax
vxorps xmm4,xmm4,xmm4
vmovdqa xmmword ptr [rsp+40],xmm4
vmovdqa xmmword ptr [rsp+50],xmm4
mov [rsp+60],rax
mov rdi,rcx
mov ebp,edx
mov rsi,r8
mov rbx,r9
test rdi,rdi
je near ptr M01_L00
lea rcx,[rsp+50]
mov rdx,[rsp+0B0]
mov r8,[rsp+0B8]
call qword ptr [7FFA62DF55D0]; Microsoft.Extensions.Logging.FormattedLogValues..ctor(System.String, System.Object[])
mov rcx,rdi
mov rdx,offset MT_Microsoft.Extensions.Logging.ILogger
mov r8,offset MD_Microsoft.Extensions.Logging.ILogger.Log[[Microsoft.Extensions.Logging.FormattedLogValues, Microsoft.Extensions.Logging.Abstractions]](Microsoft.Extensions.Logging.LogLevel, Microsoft.Extensions.Logging.EventId, Microsoft.Extensions.Logging.FormattedLogValues, System.Exception, System.Func`3<Microsoft.Extensions.Logging.FormattedLogValues,System.Exception,System.String>)
call CORINFO_HELP_VIRTUAL_FUNC_PTR
mov rcx,rdi
mov edx,ebp
mov r8,rsi
mov r9,[rsp+50]
mov [rsp+38],r9
mov r9,[rsp+58]
mov [rsp+40],r9
mov r9,[rsp+60]
mov [rsp+48],r9
mov [rsp+20],rbx
mov r9,26CCC008588
mov r9,[r9]
mov [rsp+28],r9
lea r9,[rsp+38]
call rax
nop
add rsp,68
pop rbx
pop rbp
pop rsi
pop rdi
ret
M01_L00:
mov ecx,191
mov rdx,7FFA62CEC168
call CORINFO_HELP_STRCNS
mov rcx,rax
call qword ptr [7FFA62DF1E70]
int 3
; Total bytes of code 219 Compare Jit Disasm; Microsoft.Extensions.Logging.LoggingOverhead.TwoArguments()
push rdi
push rsi
push rbx
sub rsp,40
xor eax,eax
mov [rsp+30],rax
mov rsi,[rcx+8]
mov rcx,25B1A8068F8
mov rdi,[rcx]
mov rcx,offset MT_System.Object[]
mov edx,2
call CORINFO_HELP_NEWARR_1_OBJ
mov rbx,rax
mov rcx,offset MT_System.Int32
call CORINFO_HELP_NEWSFAST
mov dword ptr [rax+8],1
lea rcx,[rbx+10]
mov rdx,rax
call CORINFO_HELP_ASSIGN_REF
mov rcx,29BAF25C6C0
mov [rbx+18],rcx
mov rcx,rsi
xor r8d,r8d
mov [rsp+30],r8
mov [rsp+38],r8d
mov r8,29BAF25C6E8
mov [rsp+20],r8
mov [rsp+28],rbx
lea r8,[rsp+30]
mov r9,rdi
mov edx,4
call qword ptr [7FF84CEF1288]; Microsoft.Extensions.Logging.LoggerExtensions.Log(Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.LogLevel, Microsoft.Extensions.Logging.EventId, System.Exception, System.String, System.Object[])
nop
add rsp,40
pop rbx
pop rsi
pop rdi
ret
; Total bytes of code 166 ; Microsoft.Extensions.Logging.LoggerExtensions.Log(Microsoft.Extensions.Logging.ILogger, Microsoft.Extensions.Logging.LogLevel, Microsoft.Extensions.Logging.EventId, System.Exception, System.String, System.Object[])
push rdi
push rsi
push rbp
push rbx
sub rsp,68
xor eax,eax
mov [rsp+38],rax
vxorps xmm4,xmm4,xmm4
vmovdqa xmmword ptr [rsp+40],xmm4
vmovdqa xmmword ptr [rsp+50],xmm4
mov [rsp+60],rax
mov rdi,rcx
mov ebp,edx
mov rsi,r8
mov rbx,r9
test rdi,rdi
je near ptr M01_L00
lea rcx,[rsp+50]
mov rdx,[rsp+0B0]
mov r8,[rsp+0B8]
call qword ptr [7FF84CEF55D0]; Microsoft.Extensions.Logging.FormattedLogValues..ctor(System.String, System.Object[])
mov rcx,rdi
mov rdx,offset MT_Microsoft.Extensions.Logging.ILogger
mov r8,offset MD_Microsoft.Extensions.Logging.ILogger.Log[[Microsoft.Extensions.Logging.FormattedLogValues, Microsoft.Extensions.Logging.Abstractions]](Microsoft.Extensions.Logging.LogLevel, Microsoft.Extensions.Logging.EventId, Microsoft.Extensions.Logging.FormattedLogValues, System.Exception, System.Func`3<Microsoft.Extensions.Logging.FormattedLogValues,System.Exception,System.String>)
call CORINFO_HELP_VIRTUAL_FUNC_PTR
mov rcx,rdi
mov edx,ebp
mov r8,rsi
mov r9,[rsp+50]
mov [rsp+38],r9
mov r9,[rsp+58]
mov [rsp+40],r9
mov r9,[rsp+60]
mov [rsp+48],r9
mov [rsp+20],rbx
mov r9,25B1A808598
mov r9,[r9]
mov [rsp+28],r9
lea r9,[rsp+38]
call rax
nop
add rsp,68
pop rbx
pop rbp
pop rsi
pop rdi
ret
M01_L00:
mov ecx,191
mov rdx,7FF84CDED368
call CORINFO_HELP_STRCNS
mov rcx,rax
call qword ptr [7FF84CEF1E70]
int 3
; Total bytes of code 219 Microsoft.Extensions.Logging.LoggingOverhead.TwoArguments_FilteredByLevel
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.TryGetValueFalse<String, String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse<String, String>*' PayloadsHistogramSystem.Collections.TryGetValueFalse<String, String>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Memory.Span<Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span<Int32>*' PayloadsHistogramSystem.Memory.Span<Int32>.Fill(Size: 33)
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark*' PayloadsHistogramMicrosoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.Factory
Description of detection logic
Microsoft.Extensions.DependencyInjection.ActivatorUtilitiesBenchmark.ServiceProvider
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.TryGetValueFalse<Int32, Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse<Int32, Int32>*' PayloadsHistogramSystem.Collections.TryGetValueFalse<Int32, Int32>.ConcurrentDictionary(Size: 512)
Description of detection logic
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Memory.ReadOnlySequence
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.ReadOnlySequence*' PayloadsHistogramSystem.Memory.ReadOnlySequence.Slice_StartPosition(Segment: Multiple)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Linq.Tests.Perf_Enumerable
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Linq.Tests.Perf_Enumerable*' PayloadsHistogramSystem.Linq.Tests.Perf_Enumerable.ElementAt(input: IList)
Description of detection logic
Description of detection logic
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository |
Run Information
Improvements in System.Collections.Concurrent.Count<String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.Count<String>*' PayloadsHistogramSystem.Collections.Concurrent.Count<String>.Dictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.ContainsKeyTrue<Int32, Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyTrue<Int32, Int32>*' PayloadsHistogramSystem.Collections.ContainsKeyTrue<Int32, Int32>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.ContainsKeyFalse<String, String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyFalse<String, String>*' PayloadsHistogramSystem.Collections.ContainsKeyFalse<String, String>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.IterateForEach<Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach<Int32>*' PayloadsHistogramSystem.Collections.IterateForEach<Int32>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.ContainsKeyFalse<Int32, Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.ContainsKeyFalse<Int32, Int32>*' PayloadsHistogramSystem.Collections.ContainsKeyFalse<Int32, Int32>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.IterateForEach<String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.IterateForEach<String>*' PayloadsHistogramSystem.Collections.IterateForEach<String>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.Concurrent.Count<Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.Concurrent.Count<Int32>*' PayloadsHistogramSystem.Collections.Concurrent.Count<Int32>.Dictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.CopyTo<Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CopyTo<Int32>*' PayloadsHistogramSystem.Collections.CopyTo<Int32>.ImmutableArray(Size: 2048)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.TryGetValueTrue<String, String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueTrue<String, String>*' PayloadsHistogramSystem.Collections.TryGetValueTrue<String, String>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in Microsoft.Extensions.DependencyInjection.ScopeValidation
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Microsoft.Extensions.DependencyInjection.ScopeValidation*' PayloadsHistogramMicrosoft.Extensions.DependencyInjection.ScopeValidation.Transient
Description of detection logic
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.TryAddGiventSize<String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryAddGiventSize<String>*' PayloadsHistogramSystem.Collections.TryAddGiventSize<String>.ConcurrentDictionary(Count: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Improvements in System.Collections.AddGivenSize<String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md Payloadsgit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.AddGivenSize<String>*' PayloadsHistogramSystem.Collections.AddGivenSize<String>.ConcurrentDictionary(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository |
Run Information
Improvements in Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
Microsoft.Extensions.DependencyInjection.GetServiceIEnumerable.Scoped
Description of detection logic
Compare Jit Disasm
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in Microsoft.Extensions.DependencyInjection.GetService
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
Microsoft.Extensions.DependencyInjection.GetService.ServiceScope
Description of detection logic
Compare Jit Disasm
Microsoft.Extensions.DependencyInjection.GetService.EmptyEnumerable
Description of detection logic
Compare Jit Disasm
Microsoft.Extensions.DependencyInjection.GetService.ServiceScopeProvider
Description of detection logic
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Collections.IndexerSet<String>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Collections.IndexerSet<String>.ConcurrentDictionary(Size: 512)
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in PerfLabTests.CastingPerf2.CastingPerf
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
PerfLabTests.CastingPerf2.CastingPerf.IFooObjIsIFoo
Description of detection logic
Compare Jit Disasm
PerfLabTests.CastingPerf2.CastingPerf.FooObjIsFoo
Description of detection logic
Description of detection logic
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Improvements in System.Collections.Concurrent.IsEmpty<Int32>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
Payloads
Baseline
Compare
Histogram
System.Collections.Concurrent.IsEmpty<Int32>.Dictionary(Size: 0)
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: