Skip to content

Instantly share code, notes, and snippets.

@redknightlois
Created November 4, 2015 16:06
Show Gist options
  • Save redknightlois/149fdd3479cbd074f115 to your computer and use it in GitHub Desktop.
Save redknightlois/149fdd3479cbd074f115 to your computer and use it in GitHub Desktop.
Benchmark System.Buffer, BlockCopy and RavenDB Sparrow's implementation.
// ***** Competition: Finish *****
```ini
BenchmarkDotNet=v0.7.8.0
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz, ProcessorCount=4
HostCLR=MS.NET 4.0.30319.42000, Arch=64-bit [AttachedDebugger] [RyuJIT]
Type=MemoryPerf Mode=Throughput Platform=X64 Jit=RyuJit .NET=HostFramework
```
Method | Param | AvrTime | StdDev | op/s |
---------- |---------- |------------------- |------------------ |--------------- |
BlockCopy | 8 | 12.7248 ns | 0.1382 ns | 78,586,659.62 |
BlockCopy | 16 | 12.7584 ns | 0.0580 ns | 78,379,941.88 |
BlockCopy | 32 | 16.0668 ns | 0.2440 ns | 62,240,025.46 |
BlockCopy | 64 | 17.1374 ns | 0.0775 ns | 58,351,865.82 |
BlockCopy | 128 | 18.8812 ns | 0.0938 ns | 52,962,775.62 |
BlockCopy | 256 | 22.9966 ns | 0.0746 ns | 43,484,656.70 |
BlockCopy | 512 | 32.4107 ns | 0.2387 ns | 30,853,998.95 |
BlockCopy | 1024 | 58.0768 ns | 0.4306 ns | 17,218,585.03 |
BlockCopy | 2048 | 96.3630 ns | 0.4208 ns | 10,377,425.16 |
BlockCopy | 4096 | 196.2304 ns | 1.5321 ns | 5,096,049.22 |
BlockCopy | 65536 | 3,610.3144 ns | 13.4609 ns | 276,984.20 |
BlockCopy | 524288 | 38,735.2434 ns | 95.4848 ns | 25,816.28 |
BlockCopy | 4194304 | 946,329.9819 ns | 49,105.8813 ns | 1,056.71 |
BlockCopy | 16777216 | 4,424,729.8278 ns | 65,275.5097 ns | 226.00 |
BlockCopy | 268435456 | 70,876,158.4771 ns | 1,095,159.6552 ns | 14.11 |
Buffers | 8 | 6.9664 ns | 0.0333 ns | 143,546,460.56 |
Buffers | 16 | 6.6900 ns | 0.0539 ns | 149,476,401.82 |
Buffers | 32 | 11.3233 ns | 0.0639 ns | 88,313,683.68 |
Buffers | 64 | 12.4547 ns | 0.0340 ns | 80,290,922.80 |
Buffers | 128 | 14.7756 ns | 0.0730 ns | 67,679,251.38 |
Buffers | 256 | 19.4144 ns | 0.1070 ns | 51,508,223.83 |
Buffers | 512 | 33.7256 ns | 0.2513 ns | 29,651,045.80 |
Buffers | 1024 | 56.6925 ns | 2.1671 ns | 17,639,029.38 |
Buffers | 2048 | 96.3614 ns | 1.2635 ns | 10,377,603.52 |
Buffers | 4096 | 198.9255 ns | 2.0715 ns | 5,027,007.45 |
Buffers | 65536 | 3,605.6785 ns | 17.5528 ns | 277,340.31 |
Buffers | 524288 | 38,803.8312 ns | 125.3552 ns | 25,770.65 |
Buffers | 4194304 | 951,981.8515 ns | 39,558.8495 ns | 1,050.45 |
Buffers | 16777216 | 4,411,218.8830 ns | 78,520.3563 ns | 226.69 |
Buffers | 268435456 | 73,256,631.6686 ns | 2,343,338.8837 ns | 13.65 |
Sparrow | 8 | 5.5286 ns | 0.0552 ns | 180,877,148.01 |
Sparrow | 16 | 5.8478 ns | 0.0481 ns | 171,003,095.06 |
Sparrow | 32 | 8.1731 ns | 0.0411 ns | 122,352,316.46 |
Sparrow | 64 | 9.0440 ns | 0.0271 ns | 110,571,016.33 |
Sparrow | 128 | 10.9351 ns | 0.1389 ns | 91,448,246.08 |
Sparrow | 256 | 15.7591 ns | 0.0665 ns | 63,455,298.54 |
Sparrow | 512 | 26.6757 ns | 0.1929 ns | 37,487,365.81 |
Sparrow | 1024 | 39.3902 ns | 0.1177 ns | 25,387,017.99 |
Sparrow | 2048 | 70.8186 ns | 0.7450 ns | 14,120,587.33 |
Sparrow | 4096 | 133.1484 ns | 1.6520 ns | 7,510,426.68 |
Sparrow | 65536 | 2,710.1544 ns | 33.9204 ns | 368,983.08 |
Sparrow | 524288 | 57,935.3365 ns | 2,430.0156 ns | 17,260.62 |
Sparrow | 4194304 | 639,170.8435 ns | 39,031.4148 ns | 1,564.54 |
Sparrow | 16777216 | 3,332,685.4896 ns | 83,212.1777 ns | 300.06 |
Sparrow | 268435456 | 54,586,531.5946 ns | 1,904,690.8827 ns | 18.32 |
// ***** Competition: End *****
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment