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

[Utf8Array] GetLengthを最適化 #88

Merged
merged 15 commits into from
Nov 7, 2021
Merged

[Utf8Array] GetLengthを最適化 #88

merged 15 commits into from
Nov 7, 2021

Conversation

finphie
Copy link
Owner

@finphie finphie commented Nov 7, 2021

BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19043.1288 (21H1/May2021Update)
AMD Ryzen 7 5800U with Radeon Graphics, 1 CPU, 16 logical and 8 physical cores
.NET SDK=6.0.100-rc.2.21505.57
  [Host]             : .NET 6.0.0 (6.0.21.48005), X64 RyuJIT
  DisableHWIntrinsic : .NET 6.0.0 (6.0.21.48005), X64 RyuJIT
  Runtime=.NET 6.0   : .NET 6.0.0 (6.0.21.48005), X64 RyuJIT

Runtime=.NET 6.0  
Method Job EnvironmentVariables Value Count Mean Error StdDev Ratio RatioSD Allocated
GetLength_Loop DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 abcd 1 1.740 ns 0.0107 ns 0.0094 ns 0.74 0.00 -
GetLength_Table DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 abcd 1 2.420 ns 0.0109 ns 0.0102 ns 1.03 0.00 -
GetLength_Long DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 abcd 1 2.339 ns 0.0075 ns 0.0070 ns 1.00 0.00 -
GetLength_Loop Runtime=.NET 6.0 Empty abcd 1 1.728 ns 0.0084 ns 0.0070 ns 0.89 0.00 -
GetLength_Table Runtime=.NET 6.0 Empty abcd 1 2.421 ns 0.0082 ns 0.0077 ns 1.24 0.01 -
GetLength_Long Runtime=.NET 6.0 Empty abcd 1 1.947 ns 0.0079 ns 0.0074 ns 1.00 0.00 -
GetLength_Loop DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 abcd 1000 1,840.116 ns 4.2662 ns 3.9906 ns 1.98 0.01 -
GetLength_Table DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 abcd 1000 8,133.821 ns 5.4448 ns 5.0930 ns 8.77 0.03 -
GetLength_Long DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 abcd 1000 927.885 ns 3.3249 ns 3.1101 ns 1.00 0.00 -
GetLength_Loop Runtime=.NET 6.0 Empty abcd 1000 1,839.473 ns 3.1285 ns 2.9264 ns 5.26 0.01 -
GetLength_Table Runtime=.NET 6.0 Empty abcd 1000 8,125.733 ns 0.7248 ns 0.6426 ns 23.24 0.05 -
GetLength_Long Runtime=.NET 6.0 Empty abcd 1000 349.620 ns 0.7187 ns 0.6723 ns 1.00 0.00 -
GetLength_Loop DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あaαβaあααいうazzαああαabc 1 17.192 ns 0.0455 ns 0.0380 ns 1.55 0.00 -
GetLength_Table DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あaαβaあααいうazzαああαabc 1 37.564 ns 0.0516 ns 0.0457 ns 3.39 0.01 -
GetLength_Long DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あaαβaあααいうazzαああαabc 1 11.068 ns 0.0216 ns 0.0202 ns 1.00 0.00 -
GetLength_Loop Runtime=.NET 6.0 Empty あaαβaあααいうazzαああαabc 1 21.603 ns 0.0518 ns 0.0485 ns 3.70 0.01 -
GetLength_Table Runtime=.NET 6.0 Empty あaαβaあααいうazzαああαabc 1 37.590 ns 0.0282 ns 0.0250 ns 6.45 0.02 -
GetLength_Long Runtime=.NET 6.0 Empty あaαβaあααいうazzαああαabc 1 5.831 ns 0.0192 ns 0.0161 ns 1.00 0.00 -
GetLength_Loop DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あaαβaあααいうazzαああαabc 1000 21,654.369 ns 25.0355 ns 22.1933 ns 2.46 0.00 -
GetLength_Table DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あaαβaあααいうazzαああαabc 1000 40,656.742 ns 36.2314 ns 33.8909 ns 4.62 0.01 -
GetLength_Long DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あaαβaあααいうazzαああαabc 1000 8,810.101 ns 17.0358 ns 15.1018 ns 1.00 0.00 -
GetLength_Loop Runtime=.NET 6.0 Empty あaαβaあααいうazzαああαabc 1000 17,517.835 ns 33.8446 ns 31.6583 ns 5.32 0.01 -
GetLength_Table Runtime=.NET 6.0 Empty あaαβaあααいうazzαああαabc 1000 40,637.298 ns 31.3999 ns 29.3715 ns 12.34 0.02 -
GetLength_Long Runtime=.NET 6.0 Empty あaαβaあααいうazzαああαabc 1000 3,292.158 ns 5.3376 ns 4.9928 ns 1.00 0.00 -
GetLength_Loop DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あいうえお 1 8.916 ns 0.0124 ns 0.0110 ns 1.74 0.00 -
GetLength_Table DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あいうえお 1 2.867 ns 0.0203 ns 0.0180 ns 0.56 0.00 -
GetLength_Long DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あいうえお 1 5.129 ns 0.0141 ns 0.0132 ns 1.00 0.00 -
GetLength_Loop Runtime=.NET 6.0 Empty あいうえお 1 8.919 ns 0.0115 ns 0.0108 ns 2.32 0.01 -
GetLength_Table Runtime=.NET 6.0 Empty あいうえお 1 2.856 ns 0.0155 ns 0.0137 ns 0.74 0.00 -
GetLength_Long Runtime=.NET 6.0 Empty あいうえお 1 3.841 ns 0.0118 ns 0.0111 ns 1.00 0.00 -
GetLength_Loop DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あいうえお 1000 9,213.676 ns 17.3948 ns 16.2711 ns 2.37 0.00 -
GetLength_Table DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あいうえお 1000 10,155.889 ns 1.4181 ns 1.2571 ns 2.61 0.00 -
GetLength_Long DisableHWIntrinsic COMPlus_EnableHWIntrinsic=0 あいうえお 1000 3,890.028 ns 4.0534 ns 3.7915 ns 1.00 0.00 -
GetLength_Loop Runtime=.NET 6.0 Empty あいうえお 1000 6,920.692 ns 9.5854 ns 8.9662 ns 5.34 0.01 -
GetLength_Table Runtime=.NET 6.0 Empty あいうえお 1000 10,163.939 ns 8.1335 ns 7.6081 ns 7.84 0.02 -
GetLength_Long Runtime=.NET 6.0 Empty あいうえお 1000 1,296.935 ns 2.9480 ns 2.7575 ns 1.00 0.00 -

@github-actions github-actions bot added the performance Performance related issue label Nov 7, 2021
@finphie finphie merged commit 7bc3e4f into main Nov 7, 2021
@finphie finphie deleted the performance/GetLength branch November 7, 2021 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance related issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant