| + Microsoft.SqlServer.Types.SqlGeography.STIntersection(Microsoft.SqlServer.Types.SqlGeography) |
22742 (80,75 %) |
13 (0,05 %) |
microsoft.sqlserver.types |
IO | Kernel | Runtime |
| | + Microsoft.SqlServer.Types.GLNativeMethods.GeodeticCombine(CombineMode, Microsoft.SqlServer.Types.GeoData, Microsoft.SqlServer.Types.GeoData, float64) |
22636 (80,38 %) |
7 (0,02 %) |
microsoft.sqlserver.types |
IO | Kernel | Runtime |
| || + dynamicClass.IL_STUB_PInvoke(00007FFAD0D6A418, 00007FFAD0A1E260, 00007FFAD0A1E260, float64, 00007FFAD0D6A668) |
22395 (79,52 %) |
20 (0,07 %) |
system.net.sockets.il |
IO | Kernel |
| ||| + sqlserverspatial140.dll!0x00007ffadee891fb |
9243 (32,82 %) |
2 (0,01 %) |
sqlserverspatial140 |
IO | Kernel |
| |||| + sqlserverspatial140.dll!0x00007ffadee99511 |
5837 (20,73 %) |
3 (0,01 %) |
sqlserverspatial140 |
IO | Kernel |
| ||||| + sqlserverspatial140.dll!0x00007ffadee7c465 |
4658 (16,54 %) |
2 (0,01 %) |
sqlserverspatial140 |
IO | Kernel |
| |||||| + sqlserverspatial140.dll!0x00007ffadeed358c |
4436 (15,75 %) |
0 (0,00 %) |
sqlserverspatial140 |
IO | Kernel |
| ||||||| + sqlserverspatial140.dll!0x00007ffadee97f28 |
4399 (15,62 %) |
0 (0,00 %) |
sqlserverspatial140 |
IO | Kernel |
| |||||||| + coreclr.dll!0x00007ffb2f0fd41e |
4223 (15,00 %) |
0 (0,00 %) |
coreclr |
IO | Kernel |
| ||||||||| + coreclr.dll!0x00007ffb2f07dd58 |
3487 (12,38 %) |
0 (0,00 %) |
coreclr |
IO | Kernel |
| |||||||||| + coreclr.dll!0x00007ffb2f07ddce |
3124 (11,09 %) |
0 (0,00 %) |
coreclr |
IO | Kernel |
| ||||||||||| + coreclr.dll!0x00007ffb2efd2509 |
1974 (7,01 %) |
1 (0,00 %) |
coreclr |
IO | Kernel |
| |||||||||||| + MapViewOfFile |
1972 (7,00 %) |
0 (0,00 %) |
kernelbase |
Kernel |
| ||||||||||||| + MapViewOfFileExNuma |
1972 (7,00 %) |
4 (0,01 %) |
kernelbase |
Kernel |
| |||||||||||||| + NtMapViewOfSection |
1968 (6,99 %) |
41 (0,15 %) |
ntdll |
Kernel |
| ||||||||||||||| + 0xfffff8036e40a2b5 |
1885 (6,69 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||||||| + 0xfffff8036e5e4829 |
1850 (6,57 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||||||||| + 0xfffff8036e5e7ccc |
1841 (6,54 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||||||||| + 0xfffff8036e5e837e |
1553 (5,51 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||||||||||| + 0xfffff8036e5e9fc4 |
1552 (5,51 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||||||||||| + 0xfffff8036e5ea160 |
1552 (5,51 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||||||||||||| + 0xfffff8036e252060 |
1220 (4,33 %) |
1218 (4,32 %) |
[Unknown Code] |
|
| ||||||||||||||||||||| - 0xfffff8036e25206c |
302 (1,07 %) |
302 (1,07 %) |
[Unknown Code] |
|
| ||||| - sqlserverspatial140.dll!0x00007ffadee7c450 |
1173 (4,17 %) |
0 (0,00 %) |
sqlserverspatial140 |
Kernel |
| |||| - sqlserverspatial140.dll!0x00007ffadee994d8 |
3400 (12,07 %) |
0 (0,00 %) |
sqlserverspatial140 |
IO | Kernel |
| ||| + sqlserverspatial140.dll!0x00007ffadee89295 |
8091 (28,73 %) |
2 (0,01 %) |
sqlserverspatial140 |
IO | Kernel |
| |||| + sqlserverspatial140.dll!0x00007ffadee86976 |
7869 (27,94 %) |
0 (0,00 %) |
sqlserverspatial140 |
IO | Kernel |
| ||||| + coreclr.dll!0x00007ffb2f0fd41e |
7768 (27,58 %) |
0 (0,00 %) |
coreclr |
IO | Kernel |
| |||||| - coreclr.dll!0x00007ffb2f07dd58 |
3857 (13,70 %) |
0 (0,00 %) |
coreclr |
Kernel |
| |||||| + coreclr.dll!0x00007ffb2f07dd45 |
3448 (12,24 %) |
0 (0,00 %) |
coreclr |
IO | Kernel |
| ||||||| + coreclr.dll!0x00007ffb2efd2509 |
2838 (10,08 %) |
4 (0,01 %) |
coreclr |
IO | Kernel |
| |||||||| + MapViewOfFile |
2833 (10,06 %) |
0 (0,00 %) |
kernelbase |
Kernel |
| ||||||||| + MapViewOfFileExNuma |
2833 (10,06 %) |
7 (0,02 %) |
kernelbase |
Kernel |
| |||||||||| + NtMapViewOfSection |
2826 (10,03 %) |
38 (0,13 %) |
ntdll |
Kernel |
| ||||||||||| + 0xfffff8036e40a2b5 |
2754 (9,78 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||| + 0xfffff8036e5e4829 |
2733 (9,70 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||||| + 0xfffff8036e5e7ccc |
2726 (9,68 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||||| + 0xfffff8036e5e837e |
2500 (8,88 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||||||| + 0xfffff8036e5e9fc4 |
2500 (8,88 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||||||| + 0xfffff8036e5ea160 |
2494 (8,86 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||||||||| - 0xfffff8036e252060 |
1977 (7,02 %) |
1976 (7,02 %) |
[Unknown Code] |
|
| ||||||||||||||||| - 0xfffff8036e25206c |
488 (1,73 %) |
485 (1,72 %) |
[Unknown Code] |
|
| ||| + dynamicClass.IL_STUB_StructMarshal(ref sbyte, sbyte*, int, ref 00007FFAD0D6AC30) |
4428 (15,72 %) |
19 (0,07 %) |
system.net.sockets.il |
IO | Kernel |
| |||| + coreclr.dll!0x00007ffb2f08a35d |
4382 (15,56 %) |
0 (0,00 %) |
coreclr |
IO | Kernel |
| ||||| + coreclr.dll!0x00007ffb2f08c13f |
3694 (13,12 %) |
0 (0,00 %) |
coreclr |
IO | Kernel |
| |||||| + coreclr.dll!0x00007ffb2efd2509 |
3044 (10,81 %) |
1 (0,00 %) |
coreclr |
Kernel |
| ||||||| + MapViewOfFile |
3043 (10,81 %) |
1 (0,00 %) |
kernelbase |
Kernel |
| |||||||| + MapViewOfFileExNuma |
3042 (10,80 %) |
9 (0,03 %) |
kernelbase |
Kernel |
| ||||||||| + NtMapViewOfSection |
3033 (10,77 %) |
46 (0,16 %) |
ntdll |
Kernel |
| |||||||||| + 0xfffff8036e40a2b5 |
2945 (10,46 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||| + 0xfffff8036e5e4829 |
2914 (10,35 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||| + 0xfffff8036e5e7ccc |
2910 (10,33 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||||| + 0xfffff8036e5e837e |
2611 (9,27 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||||| + 0xfffff8036e5e9fc4 |
2609 (9,26 %) |
0 (0,00 %) |
[Unknown Code] |
|
| ||||||||||||||| + 0xfffff8036e5ea160 |
2603 (9,24 %) |
0 (0,00 %) |
[Unknown Code] |
|
| |||||||||||||||| + 0xfffff8036e252060 |
2072 (7,36 %) |
2070 (7,35 %) |
[Unknown Code] |
|
| |||||||||||||||| - 0xfffff8036e25206c |
491 (1,74 %) |
490 (1,74 %) |
[Unknown Code] |
|
Description
When trying out .NET 7 Preview 7 the runtime of some our tests approximately increased by ~100% from 0.9s from 1.8s compared to .NET 6.0.8.
I traced the majority of the regression to calls to Microsoft.SqlServer.Types and bisected the regression to be introduced in .NET 7 Preview 5.
To reproduce download STIntersection.zip and run
Configuration
See each detail section below for the version of .NET used in the different benchmarks.
Regression?
Yes.
.NET 7 Preview 4 has same performance as .NET 6.0.8.
.NET 7 Preview 5 is 50% slower than .NET 6.0.8
Data
.NET 7 Preview 4
.NET 7 Preview 5
.NET 7 Preview 7
.NET 7 RC 1
In this stack trace I notice that the module of
dynamicClass.IL\_STUB\_PInvokeissystem.net.sockets.il🤨Partial call stack from VS
Analysis