Last active
April 16, 2020 10:10
-
-
Save jtattermusch/9572909ddc091b90871a0c929e317b22 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BEFORE | |
| Method | BytesToParse | encodedSize | Mean | Error | StdDev | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op | | |
|----------------- |------------- |------------ |----------:|----------:|----------:|------------:|------------:|------------:|--------------------:| | |
| ParseRawVarint32 | 10080 | 1 | 42.587 us | 0.8495 us | 1.3957 us | - | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 1 | 45.554 us | 0.8631 us | 0.8074 us | - | - | - | 88 B | | |
| ParseRawVarint32 | 10080 | 2 | 28.323 us | 0.1714 us | 0.1431 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 2 | 25.848 us | 0.2385 us | 0.2231 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint32 | 10080 | 3 | 20.259 us | 0.1440 us | 0.1203 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 3 | 24.808 us | 0.2482 us | 0.2073 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint32 | 10080 | 4 | 17.403 us | 0.2847 us | 0.2663 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 4 | 22.338 us | 0.2093 us | 0.1855 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint32 | 10080 | 5 | 15.288 us | 0.1741 us | 0.1543 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 5 | 21.688 us | 0.1247 us | 0.1167 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 6 | 21.317 us | 0.1854 us | 0.1643 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 7 | 20.995 us | 0.4196 us | 0.3925 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 8 | 20.677 us | 0.2127 us | 0.1776 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 9 | 20.784 us | 0.3234 us | 0.2700 us | 0.0305 | - | - | 88 B | | |
| ParseRawVarint64 | 10080 | 10 | 20.433 us | 0.1480 us | 0.1384 us | 0.0305 | - | - | 88 B | | |
| ParseFixed32 | 10080 | ? | 12.097 us | 0.0976 us | 0.0815 us | 0.0305 | - | - | 88 B | | |
| ParseFixed64 | 10080 | ? | 6.754 us | 0.1340 us | 0.1316 us | 0.0381 | - | - | 88 B | | |
| ParseRawFloat | 10080 | ? | 10.141 us | 0.0834 us | 0.0740 us | 0.0305 | - | - | 88 B | | |
| ParseRawDouble | 10080 | ? | 5.818 us | 0.1146 us | 0.1125 us | 0.0381 | - | - | 88 B | | |
AFTER | |
BenchmarkDotNet=v0.11.4, OS=macOS Mojave 10.14.6 (18G3020) [Darwin 18.7.0] | |
Intel Core i7-7567U CPU 3.50GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores | |
.NET Core SDK=3.0.100 | |
[Host] : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
DefaultJob : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
| Method | BytesToParse | encodedSize | Mean | Error | StdDev | Median | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op | | |
|---------------------------------- |------------- |------------ |----------:|----------:|----------:|----------:|------------:|------------:|------------:|--------------------:| | |
| ParseRawVarint32_CodedInputStream | 10080 | 1 | 60.206 us | 1.3361 us | 1.2498 us | 59.732 us | - | - | - | 184 B | | |
| ParseRawVarint32_ParseContext | 10080 | 1 | 40.209 us | 0.1798 us | 0.1501 us | 40.205 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 1 | 50.539 us | 0.7206 us | 0.6741 us | 50.214 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 1 | 46.684 us | 0.2891 us | 0.2414 us | 46.623 us | - | - | - | - | | |
| ParseRawVarint32_CodedInputStream | 10080 | 2 | 34.887 us | 0.3371 us | 0.3153 us | 34.865 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint32_ParseContext | 10080 | 2 | 26.858 us | 0.2962 us | 0.2626 us | 26.729 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 2 | 32.205 us | 0.2986 us | 0.2647 us | 32.122 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 2 | 32.317 us | 0.2829 us | 0.2209 us | 32.293 us | - | - | - | - | | |
| ParseRawVarint32_CodedInputStream | 10080 | 3 | 23.401 us | 0.2077 us | 0.1841 us | 23.337 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint32_ParseContext | 10080 | 3 | 19.718 us | 0.1820 us | 0.1520 us | 19.721 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 3 | 26.057 us | 0.2801 us | 0.2339 us | 26.028 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 3 | 26.161 us | 0.3419 us | 0.3198 us | 26.078 us | - | - | - | - | | |
| ParseRawVarint32_CodedInputStream | 10080 | 4 | 19.313 us | 0.0898 us | 0.0750 us | 19.313 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint32_ParseContext | 10080 | 4 | 18.223 us | 0.1677 us | 0.1486 us | 18.217 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 4 | 22.932 us | 0.2703 us | 0.2396 us | 22.851 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 4 | 22.799 us | 0.1112 us | 0.0929 us | 22.783 us | - | - | - | - | | |
| ParseRawVarint32_CodedInputStream | 10080 | 5 | 18.677 us | 0.4719 us | 0.5435 us | 18.443 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint32_ParseContext | 10080 | 5 | 16.927 us | 0.1420 us | 0.1186 us | 16.889 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 5 | 20.978 us | 0.1443 us | 0.1279 us | 20.922 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 5 | 21.781 us | 0.4325 us | 1.1692 us | 21.304 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 6 | 19.808 us | 0.1435 us | 0.1272 us | 19.804 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 6 | 19.910 us | 0.4876 us | 0.6674 us | 19.663 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 7 | 18.991 us | 0.1813 us | 0.1608 us | 18.952 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 7 | 19.064 us | 0.2787 us | 0.2470 us | 19.018 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 8 | 18.439 us | 0.2083 us | 0.1847 us | 18.384 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 8 | 18.301 us | 0.1620 us | 0.1265 us | 18.266 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 9 | 17.941 us | 0.1010 us | 0.0944 us | 17.963 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 9 | 17.685 us | 0.1960 us | 0.1737 us | 17.651 us | - | - | - | - | | |
| ParseRawVarint64_CodedInputStream | 10080 | 10 | 17.653 us | 0.0712 us | 0.0595 us | 17.631 us | 0.0610 | - | - | 184 B | | |
| ParseRawVarint64_ParseContext | 10080 | 10 | 17.219 us | 0.0882 us | 0.0825 us | 17.179 us | - | - | - | - | | |
| ParseFixed32_CodedInputStream | 10080 | ? | 10.826 us | 0.1526 us | 0.1274 us | 10.810 us | 0.0763 | - | - | 184 B | | |
| ParseFixed32_ParseContext | 10080 | ? | 7.372 us | 0.0512 us | 0.0454 us | 7.361 us | - | - | - | - | | |
| ParseFixed64_CodedInputStream | 10080 | ? | 4.063 us | 0.0378 us | 0.0316 us | 4.054 us | 0.0839 | - | - | 184 B | | |
| ParseFixed64_ParseContext | 10080 | ? | 3.409 us | 0.0183 us | 0.0143 us | 3.407 us | - | - | - | - | | |
| ParseRawFloat_CodedInputStream | 10080 | ? | 10.704 us | 0.1615 us | 0.1432 us | 10.681 us | 0.0763 | - | - | 184 B | | |
| ParseRawFloat_ParseContext | 10080 | ? | 11.675 us | 0.0742 us | 0.0694 us | 11.671 us | - | - | - | - | | |
| ParseRawDouble_CodedInputStream | 10080 | ? | 5.625 us | 0.0402 us | 0.0356 us | 5.613 us | 0.0839 | - | - | 184 B | | |
| ParseRawDouble_ParseContext | 10080 | ? | 4.083 us | 0.0419 us | 0.0350 us | 4.081 us | - | - | - | - | | |
BEFORE | |
BenchmarkDotNet=v0.11.4, OS=macOS Mojave 10.14.6 (18G3020) [Darwin 18.7.0] | |
Intel Core i7-7567U CPU 3.50GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores | |
.NET Core SDK=3.0.100 | |
[Host] : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
DefaultJob : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
| Method | messageCount | Mean | Error | StdDev | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op | | |
|--------------------------------------------------------------- |------------- |-------------:|------------:|------------:|------------:|------------:|------------:|--------------------:| | |
| ManyWrapperFieldsMessage_ParseFromByteArray | ? | 381.41 ns | 8.6719 ns | 24.3170 ns | 0.8879 | - | - | 1864 B | | |
| ManyPrimitiveFieldsMessage_ParseFromByteArray | ? | 186.74 ns | 2.5298 ns | 2.2426 ns | 0.4880 | - | - | 1024 B | | |
| EmptyMessage_ParseFromByteArray | ? | 37.50 ns | 0.6567 ns | 0.5821 ns | 0.0533 | - | - | 112 B | | |
| ManyWrapperFieldsMessage_ParseDelimitedMessagesFromByteArray | 10 | 3,405.47 ns | 48.4968 ns | 40.4970 ns | 8.5106 | - | - | 17848 B | | |
| ManyPrimitiveFieldsMessage_ParseDelimitedMessagesFromByteArray | 10 | 1,799.61 ns | 22.4263 ns | 20.9775 ns | 4.5033 | - | - | 9448 B | | |
| ManyWrapperFieldsMessage_ParseDelimitedMessagesFromByteArray | 100 | 33,946.81 ns | 444.3343 ns | 393.8908 ns | 84.6558 | - | - | 177688 B | | |
| ManyPrimitiveFieldsMessage_ParseDelimitedMessagesFromByteArray | 100 | 18,146.69 ns | 356.7617 ns | 424.6995 ns | 44.6472 | - | - | 93688 B | | |
AFTER | |
BenchmarkDotNet=v0.11.4, OS=macOS Mojave 10.14.6 (18G3020) [Darwin 18.7.0] | |
Intel Core i7-7567U CPU 3.50GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores | |
.NET Core SDK=3.0.100 | |
[Host] : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
DefaultJob : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
| Method | messageCount | Mean | Error | StdDev | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op | | |
|---------------------------------------------------------------------- |------------- |-------------:|------------:|------------:|------------:|------------:|------------:|--------------------:| | |
| ManyWrapperFieldsMessage_ParseFromByteArray | ? | 409.88 ns | 7.4969 ns | 6.6458 ns | 0.9341 | - | - | 1960 B | | |
| ManyWrapperFieldsMessage_ParseFromReadOnlySequence | ? | 381.03 ns | 8.7381 ns | 8.1736 ns | 0.8464 | - | - | 1776 B | | |
| ManyPrimitiveFieldsMessage_ParseFromByteArray | ? | 251.87 ns | 4.6516 ns | 4.1235 ns | 0.5336 | - | - | 1120 B | | |
| ManyPrimitiveFieldsMessage_ParseFromReadOnlySequence | ? | 223.52 ns | 4.4897 ns | 6.4390 ns | 0.4461 | - | - | 936 B | | |
| EmptyMessage_ParseFromByteArray | ? | 106.58 ns | 0.9453 ns | 0.8380 ns | 0.0991 | - | - | 208 B | | |
| EmptyMessage_ParseFromReadOnlySequence | ? | 71.74 ns | 1.0780 ns | 1.0084 ns | 0.0113 | - | - | 24 B | | |
| ManyWrapperFieldsMessage_ParseDelimitedMessagesFromByteArray | 10 | 3,906.78 ns | 41.3674 ns | 36.6711 ns | 8.5526 | - | - | 17944 B | | |
| ManyWrapperFieldsMessage_ParseDelimitedMessagesFromReadOnlySequence | 10 | 3,483.34 ns | 39.6573 ns | 37.0955 ns | 8.4648 | - | - | 17760 B | | |
| ManyPrimitiveFieldsMessage_ParseDelimitedMessagesFromByteArray | 10 | 2,235.63 ns | 21.6903 ns | 19.2279 ns | 4.5471 | - | - | 9544 B | | |
| ManyPrimitiveFieldsMessage_ParseDelimitedMessagesFromReadOnlySequence | 10 | 1,820.10 ns | 25.1990 ns | 22.3383 ns | 4.4613 | - | - | 9360 B | | |
| ManyWrapperFieldsMessage_ParseDelimitedMessagesFromByteArray | 100 | 39,119.34 ns | 493.0260 ns | 461.1768 ns | 84.7168 | - | - | 177784 B | | |
| ManyWrapperFieldsMessage_ParseDelimitedMessagesFromReadOnlySequence | 100 | 36,101.14 ns | 678.6854 ns | 634.8427 ns | 84.6558 | - | - | 177600 B | | |
| ManyPrimitiveFieldsMessage_ParseDelimitedMessagesFromByteArray | 100 | 22,013.79 ns | 278.3219 ns | 260.3425 ns | 44.7083 | - | - | 93784 B | | |
| ManyPrimitiveFieldsMessage_ParseDelimitedMessagesFromReadOnlySequence | 100 | 18,053.55 ns | 299.3745 ns | 280.0351 ns | 44.6167 | - | - | 93600 B | | |
BEFORE | |
BenchmarkDotNet=v0.11.4, OS=macOS Mojave 10.14.6 (18G3020) [Darwin 18.7.0] | |
Intel Core i7-7567U CPU 3.50GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores | |
.NET Core SDK=3.0.100 | |
[Host] : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
DefaultJob : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
| Method | Dataset | Mean | Error | StdDev | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op | | |
|------------------- |----------------- |---------:|----------:|----------:|------------:|------------:|------------:|--------------------:| | |
| WriteToStream | goog_msg1_proto3 | 755.8 ns | 15.038 ns | 21.567 ns | 1.9836 | - | - | 4168 B | | |
| ToByteArray | goog_msg1_proto3 | 648.5 ns | 4.543 ns | 3.794 ns | 0.1411 | - | - | 296 B | | |
| ParseFromByteArray | goog_msg1_proto3 | 550.9 ns | 4.938 ns | 4.123 ns | 0.4606 | - | - | 968 B | | |
| ParseFromStream | goog_msg1_proto3 | 823.1 ns | 16.239 ns | 15.190 ns | 2.4233 | - | - | 5088 B | | |
AFTER | |
BenchmarkDotNet=v0.11.4, OS=macOS Mojave 10.14.6 (18G3020) [Darwin 18.7.0] | |
Intel Core i7-7567U CPU 3.50GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores | |
.NET Core SDK=3.0.100 | |
[Host] : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
DefaultJob : .NET Core 2.1.15 (CoreCLR 4.6.28325.01, CoreFX 4.6.28327.02), 64bit RyuJIT | |
| Method | Dataset | Mean | Error | StdDev | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op | | |
|------------------- |----------------- |---------:|----------:|----------:|------------:|------------:|------------:|--------------------:| | |
| WriteToStream | goog_msg1_proto3 | 728.8 ns | 13.711 ns | 15.239 ns | 1.9836 | - | - | 4168 B | | |
| ToByteArray | goog_msg1_proto3 | 657.4 ns | 11.347 ns | 10.614 ns | 0.1411 | - | - | 296 B | | |
| ParseFromByteArray | goog_msg1_proto3 | 638.6 ns | 7.461 ns | 6.614 ns | 0.5074 | - | - | 1064 B | | |
| ParseFromStream | goog_msg1_proto3 | 971.1 ns | 8.752 ns | 7.309 ns | 2.4681 | - | - | 5184 B | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment