Skip to content

erez-strauss/memory_ping_pong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

memory_ping_pong

Memory ping pong in host between cpu cores

The ping pong test uses template for benchmark, enables testing of different pointer/value types, and different memory-synchronization policies.

The output contains the name of the types and how many nano-seconds Round Trip Time to the other core and back.

Example output:

$ ./mpp 3 4
[with T = volatile long unsigned int*; CFP = Flush; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 137.619 min: 63 max: 492043 med: 100 stddev: 1157.83 50%: 100 90%: 193 99%: 477 99.9%: 634 99.99%: 11636
[with T = std::atomic<long unsigned int>*; CFP = Flush; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 128.058 min: 28 max: 467087 med: 121 stddev: 1044.59 50%: 121 90%: 134 99%: 448 99.9%: 548 99.99%: 1960
[with T = volatile std::atomic<long unsigned int>*; CFP = Flush; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 132.164 min: 60 max: 384171 med: 126 stddev: 1002.42 50%: 126 90%: 131 99%: 455 99.9%: 490 99.99%: 2007
[with T = volatile long unsigned int*; CFP = NOP; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 106.732 min: 76 max: 433488 med: 103 stddev: 1018.55 50%: 103 90%: 109 99%: 114 99.9%: 151 99.99%: 1745
[with T = std::atomic<long unsigned int>*; CFP = NOP; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 103.291 min: 67 max: 420284 med: 100 stddev: 867.312 50%: 100 90%: 106 99%: 115 99.9%: 147 99.99%: 1529
[with T = volatile std::atomic<long unsigned int>*; CFP = NOP; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 108.42 min: 61 max: 434583 med: 105 stddev: 1040.04 50%: 105 90%: 107 99%: 133 99.9%: 158 99.99%: 1523
[with T = volatile long unsigned int*; CFP = MFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 109.182 min: 53 max: 446708 med: 106 stddev: 910.449 50%: 106 90%: 110 99%: 115 99.9%: 153 99.99%: 1665
[with T = std::atomic<long unsigned int>*; CFP = MFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 111.005 min: 43 max: 427068 med: 107 stddev: 1011.62 50%: 107 90%: 114 99%: 137 99.9%: 161 99.99%: 1673
[with T = volatile std::atomic<long unsigned int>*; CFP = MFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 114.065 min: 41 max: 383801 med: 107 stddev: 966.855 50%: 107 90%: 113 99%: 141 99.9%: 236 99.99%: 17507
[with T = volatile long unsigned int*; CFP = SFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 111.355 min: 76 max: 386910 med: 107 stddev: 935.584 50%: 107 90%: 116 99%: 122 99.9%: 215 99.99%: 1808
[with T = std::atomic<long unsigned int>*; CFP = SFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 105.027 min: 67 max: 438478 med: 100 stddev: 1022.14 50%: 100 90%: 108 99%: 128 99.9%: 172 99.99%: 1537
[with T = volatile std::atomic<long unsigned int>*; CFP = SFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 102.877 min: 67 max: 443550 med: 100 stddev: 955.72 50%: 100 90%: 105 99%: 112 99.9%: 144 99.99%: 1535

and with distograms

$ ./mpp -h 3 4
[with T = volatile long unsigned int*; CFP = Flush; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 142.247 min: 73 max: 774488 med: 112 stddev: 1321.13 50%: 112 90%: 188 99%: 466 99.9%: 610 99.99%: 1992
 hmin: 75 hmax: 6575  bin width: 130 ediff: 0
  0 [   75 -  205 ):  914033  91.4033%   91.403
  1 [  205 -  335 ):   32205   3.2205%   94.624
  2 [  335 -  465 ):   43656   4.3656%   98.989
  3 [  465 -  595 ):    8852   0.8852%   99.875
  4 [  595 -  725 ):     828   0.0828%   99.957
  5 [  725 -  855 ):     163   0.0163%   99.974
  6 [  855 -  985 ):      49   0.0049%   99.979
  7 [  985 - 1115 ):      20   0.0020%   99.981
  8 [ 1115 - 1245 ):      11   0.0011%   99.982
  9 [ 1245 - 1375 ):      11   0.0011%   99.983
 10 [ 1375 - 1505 ):       4   0.0004%   99.983
 11 [ 1505 - 1635 ):       4   0.0004%   99.984
 12 [ 1635 - 1765 ):      26   0.0026%   99.986
 13 [ 1765 - 1895 ):      28   0.0028%   99.989
 14 [ 1895 - 2025 ):      16   0.0016%   99.991
 15 [ 2025 - 2155 ):      11   0.0011%   99.992
 16 [ 2155 - 2285 ):       5   0.0005%   99.992
 17 [ 2285 - 2415 ):       1   0.0001%   99.992
 19 [ 2545 - 2675 ):       2   0.0002%   99.992
 21 [ 2805 - 2935 ):       2   0.0002%   99.993
 22 [ 2935 - 3065 ):       3   0.0003%   99.993
 23 [ 3065 - 3195 ):       1   0.0001%   99.993
 24 [ 3195 - 3325 ):       1   0.0001%   99.993
 25 [ 3325 - 3455 ):       1   0.0001%   99.993
 27 [ 3585 - 3715 ):       1   0.0001%   99.993
 28 [ 3715 - 3845 ):       2   0.0002%   99.994
 29 [ 3845 - 3975 ):       4   0.0004%   99.994
 31 [ 4105 - 4235 ):       2   0.0002%   99.994
 33 [ 4365 - 4495 ):       1   0.0001%   99.994
 34 [ 4495 - 4625 ):       1   0.0001%   99.994
 38 [ 5015 - 5145 ):       2   0.0002%   99.995
 39 [ 5145 - 5275 ):       1   0.0001%   99.995
 40 [ 5275 - 5405 ):       1   0.0001%   99.995
 41 [ 5405 - 5535 ):       1   0.0001%   99.995
 42 [ 5535 - 5665 ):       2   0.0002%   99.995
 43 [ 5665 - 5795 ):       1   0.0001%   99.995
 44 [ 5795 - 5925 ):       3   0.0003%   99.996
 45 [ 5925 - 6055 ):       2   0.0002%   99.996
 46 [ 6055 - 6185 ):       2   0.0002%   99.996
 47 [ 6185 - 6315 ):       1   0.0001%   99.996
 48 [ 6315 - 6445 ):       1   0.0001%   99.996
 49 [ 6445 - 6575 ):      39   0.0039%  100.000

[with T = std::atomic<long unsigned int>*; CFP = Flush; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 135.204 min: 28 max: 395306 med: 126 stddev: 1074.04 50%: 126 90%: 144 99%: 452 99.9%: 503 99.99%: 1738
 hmin: 28 hmax: 5528  bin width: 110 ediff: 0
  0 [   28 -  138 ):  878755  87.8755%   87.876
  1 [  138 -  248 ):  100232  10.0232%   97.899
  2 [  248 -  358 ):    2614   0.2614%   98.160
  3 [  358 -  468 ):   15161   1.5161%   99.676
  4 [  468 -  578 ):    2782   0.2782%   99.954
  5 [  578 -  688 ):     208   0.0208%   99.975
  6 [  688 -  798 ):      60   0.0060%   99.981
  7 [  798 -  908 ):      12   0.0012%   99.982
  8 [  908 - 1018 ):       6   0.0006%   99.983
  9 [ 1018 - 1128 ):      10   0.0010%   99.984
 10 [ 1128 - 1238 ):       2   0.0002%   99.984
 11 [ 1238 - 1348 ):       3   0.0003%   99.984
 12 [ 1348 - 1458 ):       4   0.0004%   99.985
 13 [ 1458 - 1568 ):      13   0.0013%   99.986
 14 [ 1568 - 1678 ):      27   0.0027%   99.989
 15 [ 1678 - 1788 ):      14   0.0014%   99.990
 16 [ 1788 - 1898 ):       9   0.0009%   99.991
 17 [ 1898 - 2008 ):      12   0.0012%   99.992
 18 [ 2008 - 2118 ):       3   0.0003%   99.993
 19 [ 2118 - 2228 ):       3   0.0003%   99.993
 20 [ 2228 - 2338 ):       3   0.0003%   99.993
 21 [ 2338 - 2448 ):       1   0.0001%   99.993
 22 [ 2448 - 2558 ):       2   0.0002%   99.994
 23 [ 2558 - 2668 ):       3   0.0003%   99.994
 24 [ 2668 - 2778 ):       3   0.0003%   99.994
 25 [ 2778 - 2888 ):       2   0.0002%   99.994
 26 [ 2888 - 2998 ):       2   0.0002%   99.995
 27 [ 2998 - 3108 ):       2   0.0002%   99.995
 28 [ 3108 - 3218 ):       2   0.0002%   99.995
 29 [ 3218 - 3328 ):       2   0.0002%   99.995
 30 [ 3328 - 3438 ):       4   0.0004%   99.996
 31 [ 3438 - 3548 ):       1   0.0001%   99.996
 32 [ 3548 - 3658 ):       5   0.0005%   99.996
 35 [ 3878 - 3988 ):       2   0.0002%   99.996
 37 [ 4098 - 4208 ):       1   0.0001%   99.997
 38 [ 4208 - 4318 ):       1   0.0001%   99.997
 39 [ 4318 - 4428 ):       2   0.0002%   99.997
 42 [ 4648 - 4758 ):       1   0.0001%   99.997
 43 [ 4758 - 4868 ):       1   0.0001%   99.997
 44 [ 4868 - 4978 ):       1   0.0001%   99.997
 45 [ 4978 - 5088 ):       2   0.0002%   99.997
 47 [ 5198 - 5308 ):       2   0.0002%   99.998
 48 [ 5308 - 5418 ):       1   0.0001%   99.998
 49 [ 5418 - 5528 ):      24   0.0024%  100.000

[with T = volatile std::atomic<long unsigned int>*; CFP = Flush; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 126.323 min: 57 max: 379122 med: 111 stddev: 1084 50%: 111 90%: 124 99%: 433 99.9%: 544 99.99%: 16988
 hmin: 55 hmax: 5555  bin width: 110 ediff: 0
  0 [   55 -  165 ):  975519  97.5519%   97.552
  1 [  165 -  275 ):    4271   0.4271%   97.979
  2 [  275 -  385 ):    2164   0.2164%   98.195
  3 [  385 -  495 ):   16591   1.6591%   99.854
  4 [  495 -  605 ):     711   0.0711%   99.926
  5 [  605 -  715 ):     240   0.0240%   99.950
  6 [  715 -  825 ):     102   0.0102%   99.960
  7 [  825 -  935 ):      61   0.0061%   99.966
  8 [  935 - 1045 ):      19   0.0019%   99.968
  9 [ 1045 - 1155 ):      10   0.0010%   99.969
 10 [ 1155 - 1265 ):       6   0.0006%   99.969
 11 [ 1265 - 1375 ):       5   0.0005%   99.970
 12 [ 1375 - 1485 ):       3   0.0003%   99.970
 13 [ 1485 - 1595 ):      43   0.0043%   99.975
 14 [ 1595 - 1705 ):      18   0.0018%   99.976
 15 [ 1705 - 1815 ):       8   0.0008%   99.977
 16 [ 1815 - 1925 ):      18   0.0018%   99.979
 17 [ 1925 - 2035 ):       4   0.0004%   99.979
 18 [ 2035 - 2145 ):       3   0.0003%   99.980
 19 [ 2145 - 2255 ):       1   0.0001%   99.980
 20 [ 2255 - 2365 ):       1   0.0001%   99.980
 21 [ 2365 - 2475 ):       5   0.0005%   99.980
 23 [ 2585 - 2695 ):       1   0.0001%   99.980
 24 [ 2695 - 2805 ):       4   0.0004%   99.981
 25 [ 2805 - 2915 ):       1   0.0001%   99.981
 26 [ 2915 - 3025 ):       1   0.0001%   99.981
 27 [ 3025 - 3135 ):       4   0.0004%   99.981
 28 [ 3135 - 3245 ):       1   0.0001%   99.982
 30 [ 3355 - 3465 ):       1   0.0001%   99.982
 34 [ 3795 - 3905 ):       1   0.0001%   99.982
 37 [ 4125 - 4235 ):       1   0.0001%   99.982
 38 [ 4235 - 4345 ):       1   0.0001%   99.982
 43 [ 4785 - 4895 ):       1   0.0001%   99.982
 46 [ 5115 - 5225 ):       1   0.0001%   99.982
 49 [ 5445 - 5555 ):     179   0.0179%  100.000

[with T = volatile long unsigned int*; CFP = NOP; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 116.729 min: 74 max: 401941 med: 110 stddev: 1027.87 50%: 110 90%: 114 99%: 122 99.9%: 182 99.99%: 17204
 hmin: 75 hmax: 5325  bin width: 105 ediff: 0
  0 [   75 -  180 ):  998981  99.8981%   99.898
  1 [  180 -  285 ):     512   0.0512%   99.949
  2 [  285 -  390 ):     178   0.0178%   99.967
  3 [  390 -  495 ):      22   0.0022%   99.969
  4 [  495 -  600 ):      10   0.0010%   99.970
  5 [  600 -  705 ):       5   0.0005%   99.971
  6 [  705 -  810 ):       3   0.0003%   99.971
  7 [  810 -  915 ):       2   0.0002%   99.971
  8 [  915 - 1020 ):       1   0.0001%   99.971
 10 [ 1125 - 1230 ):       1   0.0001%   99.972
 11 [ 1230 - 1335 ):       4   0.0004%   99.972
 12 [ 1335 - 1440 ):       1   0.0001%   99.972
 13 [ 1440 - 1545 ):      17   0.0017%   99.974
 14 [ 1545 - 1650 ):      20   0.0020%   99.976
 15 [ 1650 - 1755 ):      24   0.0024%   99.978
 16 [ 1755 - 1860 ):       5   0.0005%   99.979
 17 [ 1860 - 1965 ):       5   0.0005%   99.979
 18 [ 1965 - 2070 ):       4   0.0004%   99.980
 19 [ 2070 - 2175 ):       2   0.0002%   99.980
 20 [ 2175 - 2280 ):       3   0.0003%   99.980
 21 [ 2280 - 2385 ):       3   0.0003%   99.980
 22 [ 2385 - 2490 ):       2   0.0002%   99.981
 24 [ 2595 - 2700 ):       4   0.0004%   99.981
 25 [ 2700 - 2805 ):       2   0.0002%   99.981
 26 [ 2805 - 2910 ):       1   0.0001%   99.981
 29 [ 3120 - 3225 ):       2   0.0002%   99.981
 30 [ 3225 - 3330 ):       1   0.0001%   99.982
 32 [ 3435 - 3540 ):       1   0.0001%   99.982
 33 [ 3540 - 3645 ):       1   0.0001%   99.982
 34 [ 3645 - 3750 ):       2   0.0002%   99.982
 35 [ 3750 - 3855 ):       3   0.0003%   99.982
 42 [ 4485 - 4590 ):       1   0.0001%   99.982
 48 [ 5115 - 5220 ):       1   0.0001%   99.982
 49 [ 5220 - 5325 ):     176   0.0176%  100.000

[with T = std::atomic<long unsigned int>*; CFP = NOP; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 109.245 min: 71 max: 403912 med: 105 stddev: 1012.7 50%: 105 90%: 109 99%: 120 99.9%: 168 99.99%: 1757
 hmin: 70 hmax: 5070  bin width: 100 ediff: 0
  0 [   70 -  170 ):  999024  99.9024%   99.902
  1 [  170 -  270 ):     555   0.0555%   99.958
  2 [  270 -  370 ):     252   0.0252%   99.983
  3 [  370 -  470 ):      10   0.0010%   99.984
  4 [  470 -  570 ):      16   0.0016%   99.986
  5 [  570 -  670 ):       3   0.0003%   99.986
  6 [  670 -  770 ):       1   0.0001%   99.986
  7 [  770 -  870 ):       1   0.0001%   99.986
 10 [ 1070 - 1170 ):       1   0.0001%   99.986
 11 [ 1170 - 1270 ):      16   0.0016%   99.988
 12 [ 1270 - 1370 ):       7   0.0007%   99.989
 13 [ 1370 - 1470 ):       1   0.0001%   99.989
 15 [ 1570 - 1670 ):       2   0.0002%   99.989
 16 [ 1670 - 1770 ):      13   0.0013%   99.990
 17 [ 1770 - 1870 ):      16   0.0016%   99.992
 18 [ 1870 - 1970 ):       8   0.0008%   99.993
 19 [ 1970 - 2070 ):      10   0.0010%   99.994
 20 [ 2070 - 2170 ):       7   0.0007%   99.994
 21 [ 2170 - 2270 ):       5   0.0005%   99.995
 22 [ 2270 - 2370 ):       5   0.0005%   99.995
 23 [ 2370 - 2470 ):       2   0.0002%   99.996
 24 [ 2470 - 2570 ):       3   0.0003%   99.996
 25 [ 2570 - 2670 ):       2   0.0002%   99.996
 26 [ 2670 - 2770 ):       1   0.0001%   99.996
 27 [ 2770 - 2870 ):       4   0.0004%   99.997
 28 [ 2870 - 2970 ):       2   0.0002%   99.997
 29 [ 2970 - 3070 ):       2   0.0002%   99.997
 30 [ 3070 - 3170 ):       2   0.0002%   99.997
 31 [ 3170 - 3270 ):       1   0.0001%   99.997
 32 [ 3270 - 3370 ):       2   0.0002%   99.997
 34 [ 3470 - 3570 ):       1   0.0001%   99.998
 35 [ 3570 - 3670 ):       1   0.0001%   99.998
 36 [ 3670 - 3770 ):       2   0.0002%   99.998
 38 [ 3870 - 3970 ):       1   0.0001%   99.998
 41 [ 4170 - 4270 ):       1   0.0001%   99.998
 45 [ 4570 - 4670 ):       3   0.0003%   99.998
 47 [ 4770 - 4870 ):       1   0.0001%   99.998
 48 [ 4870 - 4970 ):       1   0.0001%   99.999
 49 [ 4970 - 5070 ):      15   0.0015%  100.000

[with T = volatile std::atomic<long unsigned int>*; CFP = NOP; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 104.901 min: 59 max: 405603 med: 98 stddev: 966.692 50%: 98 90%: 103 99%: 126 99.9%: 174 99.99%: 16908
 hmin: 60 hmax: 4810  bin width: 95 ediff: 0
  0 [   60 -  155 ):  998671  99.8671%   99.867
  1 [  155 -  250 ):     759   0.0759%   99.943
  2 [  250 -  345 ):     254   0.0254%   99.968
  3 [  345 -  440 ):      16   0.0016%   99.970
  4 [  440 -  535 ):      23   0.0023%   99.972
  5 [  535 -  630 ):       9   0.0009%   99.973
  6 [  630 -  725 ):       4   0.0004%   99.974
  7 [  725 -  820 ):       4   0.0004%   99.974
 11 [ 1105 - 1200 ):       5   0.0005%   99.975
 12 [ 1200 - 1295 ):       4   0.0004%   99.975
 14 [ 1390 - 1485 ):       4   0.0004%   99.975
 15 [ 1485 - 1580 ):      19   0.0019%   99.977
 16 [ 1580 - 1675 ):      16   0.0016%   99.979
 17 [ 1675 - 1770 ):       5   0.0005%   99.979
 18 [ 1770 - 1865 ):       6   0.0006%   99.980
 19 [ 1865 - 1960 ):       8   0.0008%   99.981
 20 [ 1960 - 2055 ):       3   0.0003%   99.981
 21 [ 2055 - 2150 ):       2   0.0002%   99.981
 23 [ 2245 - 2340 ):       2   0.0002%   99.981
 24 [ 2340 - 2435 ):       2   0.0002%   99.982
 25 [ 2435 - 2530 ):       2   0.0002%   99.982
 27 [ 2625 - 2720 ):       1   0.0001%   99.982
 28 [ 2720 - 2815 ):       2   0.0002%   99.982
 29 [ 2815 - 2910 ):       2   0.0002%   99.982
 31 [ 3005 - 3100 ):       1   0.0001%   99.982
 32 [ 3100 - 3195 ):       2   0.0002%   99.983
 35 [ 3385 - 3480 ):       2   0.0002%   99.983
 37 [ 3575 - 3670 ):       1   0.0001%   99.983
 42 [ 4050 - 4145 ):       1   0.0001%   99.983
 45 [ 4335 - 4430 ):       1   0.0001%   99.983
 47 [ 4525 - 4620 ):       1   0.0001%   99.983
 49 [ 4715 - 4810 ):     168   0.0168%  100.000

[with T = volatile long unsigned int*; CFP = MFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 107.366 min: 57 max: 387130 med: 100 stddev: 1035.15 50%: 100 90%: 105 99%: 112 99.9%: 156 99.99%: 17866
 hmin: 55 hmax: 5305  bin width: 105 ediff: 0
  0 [   55 -  160 ):  999029  99.9029%   99.903
  1 [  160 -  265 ):     486   0.0486%   99.951
  2 [  265 -  370 ):     126   0.0126%   99.964
  3 [  370 -  475 ):      55   0.0055%   99.970
  4 [  475 -  580 ):      22   0.0022%   99.972
  5 [  580 -  685 ):       1   0.0001%   99.972
  7 [  790 -  895 ):       1   0.0001%   99.972
  8 [  895 - 1000 ):       3   0.0003%   99.972
 10 [ 1105 - 1210 ):       2   0.0002%   99.973
 11 [ 1210 - 1315 ):       2   0.0002%   99.973
 12 [ 1315 - 1420 ):       1   0.0001%   99.973
 13 [ 1420 - 1525 ):      19   0.0019%   99.975
 14 [ 1525 - 1630 ):      21   0.0021%   99.977
 15 [ 1630 - 1735 ):      15   0.0015%   99.978
 16 [ 1735 - 1840 ):       9   0.0009%   99.979
 17 [ 1840 - 1945 ):       4   0.0004%   99.980
 18 [ 1945 - 2050 ):       1   0.0001%   99.980
 19 [ 2050 - 2155 ):       2   0.0002%   99.980
 21 [ 2260 - 2365 ):       1   0.0001%   99.980
 23 [ 2470 - 2575 ):       1   0.0001%   99.980
 24 [ 2575 - 2680 ):       1   0.0001%   99.980
 25 [ 2680 - 2785 ):       1   0.0001%   99.980
 28 [ 2995 - 3100 ):       1   0.0001%   99.980
 29 [ 3100 - 3205 ):       1   0.0001%   99.981
 30 [ 3205 - 3310 ):       1   0.0001%   99.981
 33 [ 3520 - 3625 ):       1   0.0001%   99.981
 35 [ 3730 - 3835 ):       1   0.0001%   99.981
 36 [ 3835 - 3940 ):       1   0.0001%   99.981
 38 [ 4045 - 4150 ):       1   0.0001%   99.981
 41 [ 4360 - 4465 ):       3   0.0003%   99.981
 43 [ 4570 - 4675 ):       1   0.0001%   99.981
 44 [ 4675 - 4780 ):       2   0.0002%   99.982
 49 [ 5200 - 5305 ):     184   0.0184%  100.000

[with T = std::atomic<long unsigned int>*; CFP = MFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 101.432 min: 42 max: 388772 med: 98 stddev: 999.903 50%: 98 90%: 106 99%: 123 99.9%: 145 99.99%: 1595
 hmin: 40 hmax: 5040  bin width: 100 ediff: 0
  0 [   40 -  140 ):  997840  99.7840%   99.784
  1 [  140 -  240 ):    1865   0.1865%   99.971
  2 [  240 -  340 ):     119   0.0119%   99.982
  3 [  340 -  440 ):      28   0.0028%   99.985
  4 [  440 -  540 ):      32   0.0032%   99.988
  5 [  540 -  640 ):       4   0.0004%   99.989
  6 [  640 -  740 ):       3   0.0003%   99.989
  8 [  840 -  940 ):       1   0.0001%   99.989
 10 [ 1040 - 1140 ):       1   0.0001%   99.989
 11 [ 1140 - 1240 ):       4   0.0004%   99.990
 12 [ 1240 - 1340 ):       1   0.0001%   99.990
 13 [ 1340 - 1440 ):       1   0.0001%   99.990
 15 [ 1540 - 1640 ):       3   0.0003%   99.990
 16 [ 1640 - 1740 ):      19   0.0019%   99.992
 17 [ 1740 - 1840 ):      17   0.0017%   99.994
 18 [ 1840 - 1940 ):      12   0.0012%   99.995
 19 [ 1940 - 2040 ):       8   0.0008%   99.996
 20 [ 2040 - 2140 ):       6   0.0006%   99.996
 22 [ 2240 - 2340 ):       1   0.0001%   99.997
 23 [ 2340 - 2440 ):       1   0.0001%   99.997
 24 [ 2440 - 2540 ):       1   0.0001%   99.997
 25 [ 2540 - 2640 ):       1   0.0001%   99.997
 28 [ 2840 - 2940 ):       2   0.0002%   99.997
 29 [ 2940 - 3040 ):       3   0.0003%   99.997
 33 [ 3340 - 3440 ):       4   0.0004%   99.998
 34 [ 3440 - 3540 ):       1   0.0001%   99.998
 40 [ 4040 - 4140 ):       4   0.0004%   99.998
 44 [ 4440 - 4540 ):       1   0.0001%   99.998
 46 [ 4640 - 4740 ):       1   0.0001%   99.998
 49 [ 4940 - 5040 ):      16   0.0016%  100.000

[with T = volatile std::atomic<long unsigned int>*; CFP = MFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 103.222 min: 38 max: 435178 med: 98 stddev: 1049.13 50%: 98 90%: 105 99%: 117 99.9%: 156 99.99%: 17951
 hmin: 38 hmax: 5288  bin width: 105 ediff: 0
  0 [   38 -  143 ):  998128  99.8128%   99.813
  1 [  143 -  248 ):    1410   0.1410%   99.954
  2 [  248 -  353 ):     128   0.0128%   99.967
  3 [  353 -  458 ):      42   0.0042%   99.971
  4 [  458 -  563 ):      20   0.0020%   99.973
  5 [  563 -  668 ):       7   0.0007%   99.973
  6 [  668 -  773 ):       3   0.0003%   99.974
  7 [  773 -  878 ):       2   0.0002%   99.974
  8 [  878 -  983 ):       2   0.0002%   99.974
  9 [  983 - 1088 ):       3   0.0003%   99.974
 11 [ 1193 - 1298 ):       1   0.0001%   99.975
 12 [ 1298 - 1403 ):       2   0.0002%   99.975
 13 [ 1403 - 1508 ):       6   0.0006%   99.975
 14 [ 1508 - 1613 ):      27   0.0027%   99.978
 15 [ 1613 - 1718 ):      19   0.0019%   99.980
 16 [ 1718 - 1823 ):       6   0.0006%   99.981
 17 [ 1823 - 1928 ):       2   0.0002%   99.981
 18 [ 1928 - 2033 ):       3   0.0003%   99.981
 19 [ 2033 - 2138 ):       3   0.0003%   99.981
 20 [ 2138 - 2243 ):       2   0.0002%   99.982
 21 [ 2243 - 2348 ):       2   0.0002%   99.982
 22 [ 2348 - 2453 ):       1   0.0001%   99.982
 25 [ 2663 - 2768 ):       1   0.0001%   99.982
 26 [ 2768 - 2873 ):       1   0.0001%   99.982
 27 [ 2873 - 2978 ):       2   0.0002%   99.982
 28 [ 2978 - 3083 ):       1   0.0001%   99.982
 29 [ 3083 - 3188 ):       2   0.0002%   99.983
 30 [ 3188 - 3293 ):       2   0.0002%   99.983
 31 [ 3293 - 3398 ):       2   0.0002%   99.983
 32 [ 3398 - 3503 ):       2   0.0002%   99.983
 33 [ 3503 - 3608 ):       2   0.0002%   99.983
 34 [ 3608 - 3713 ):       1   0.0001%   99.984
 36 [ 3818 - 3923 ):       2   0.0002%   99.984
 37 [ 3923 - 4028 ):       2   0.0002%   99.984
 38 [ 4028 - 4133 ):       1   0.0001%   99.984
 46 [ 4868 - 4973 ):       1   0.0001%   99.984
 49 [ 5183 - 5288 ):     159   0.0159%  100.000

[with T = volatile long unsigned int*; CFP = SFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 110.343 min: 63 max: 407955 med: 106 stddev: 1009.46 50%: 106 90%: 113 99%: 118 99.9%: 159 99.99%: 1773
 hmin: 65 hmax: 5065  bin width: 100 ediff: 0
  0 [   65 -  165 ):  999155  99.9155%   99.915
  1 [  165 -  265 ):     522   0.0522%   99.968
  2 [  265 -  365 ):     125   0.0125%   99.980
  3 [  365 -  465 ):      22   0.0022%   99.982
  4 [  465 -  565 ):      25   0.0025%   99.985
  5 [  565 -  665 ):       2   0.0002%   99.985
  6 [  665 -  765 ):       4   0.0004%   99.986
  7 [  765 -  865 ):       4   0.0004%   99.986
  9 [  965 - 1065 ):       4   0.0004%   99.986
 10 [ 1065 - 1165 ):       1   0.0001%   99.986
 11 [ 1165 - 1265 ):      16   0.0016%   99.988
 13 [ 1365 - 1465 ):       1   0.0001%   99.988
 14 [ 1465 - 1565 ):       1   0.0001%   99.988
 15 [ 1565 - 1665 ):       3   0.0003%   99.989
 16 [ 1665 - 1765 ):      12   0.0012%   99.990
 17 [ 1765 - 1865 ):      28   0.0028%   99.992
 18 [ 1865 - 1965 ):      13   0.0013%   99.994
 19 [ 1965 - 2065 ):      13   0.0013%   99.995
 20 [ 2065 - 2165 ):       3   0.0003%   99.995
 21 [ 2165 - 2265 ):       5   0.0005%   99.996
 22 [ 2265 - 2365 ):       3   0.0003%   99.996
 23 [ 2365 - 2465 ):       3   0.0003%   99.996
 24 [ 2465 - 2565 ):       1   0.0001%   99.997
 25 [ 2565 - 2665 ):       1   0.0001%   99.997
 27 [ 2765 - 2865 ):       2   0.0002%   99.997
 28 [ 2865 - 2965 ):       1   0.0001%   99.997
 29 [ 2965 - 3065 ):       3   0.0003%   99.997
 30 [ 3065 - 3165 ):       1   0.0001%   99.997
 31 [ 3165 - 3265 ):       1   0.0001%   99.998
 32 [ 3265 - 3365 ):       1   0.0001%   99.998
 33 [ 3365 - 3465 ):       5   0.0005%   99.998
 41 [ 4165 - 4265 ):       1   0.0001%   99.998
 46 [ 4665 - 4765 ):       1   0.0001%   99.998
 47 [ 4765 - 4865 ):       1   0.0001%   99.998
 48 [ 4865 - 4965 ):       1   0.0001%   99.999
 49 [ 4965 - 5065 ):      15   0.0015%  100.000

[with T = std::atomic<long unsigned int>*; CFP = SFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 118.633 min: 67 max: 474589 med: 111 stddev: 1127.01 50%: 111 90%: 115 99%: 154 99.9%: 277 99.99%: 17073
 hmin: 65 hmax: 5815  bin width: 115 ediff: 0
  0 [   65 -  180 ):  996717  99.6717%   99.672
  1 [  180 -  295 ):    2406   0.2406%   99.912
  2 [  295 -  410 ):     479   0.0479%   99.960
  3 [  410 -  525 ):      53   0.0053%   99.966
  4 [  525 -  640 ):      27   0.0027%   99.968
  5 [  640 -  755 ):       7   0.0007%   99.969
  6 [  755 -  870 ):       3   0.0003%   99.969
  7 [  870 -  985 ):       2   0.0002%   99.969
  8 [  985 - 1100 ):       4   0.0004%   99.970
  9 [ 1100 - 1215 ):       6   0.0006%   99.970
 10 [ 1215 - 1330 ):      18   0.0018%   99.972
 11 [ 1330 - 1445 ):       2   0.0002%   99.972
 14 [ 1675 - 1790 ):       9   0.0009%   99.973
 15 [ 1790 - 1905 ):      15   0.0015%   99.975
 16 [ 1905 - 2020 ):       5   0.0005%   99.975
 17 [ 2020 - 2135 ):       6   0.0006%   99.976
 18 [ 2135 - 2250 ):      10   0.0010%   99.977
 19 [ 2250 - 2365 ):       9   0.0009%   99.978
 20 [ 2365 - 2480 ):      13   0.0013%   99.979
 21 [ 2480 - 2595 ):       5   0.0005%   99.980
 22 [ 2595 - 2710 ):       4   0.0004%   99.980
 23 [ 2710 - 2825 ):       7   0.0007%   99.981
 24 [ 2825 - 2940 ):       2   0.0002%   99.981
 25 [ 2940 - 3055 ):       1   0.0001%   99.981
 26 [ 3055 - 3170 ):       2   0.0002%   99.981
 27 [ 3170 - 3285 ):       1   0.0001%   99.981
 28 [ 3285 - 3400 ):       1   0.0001%   99.981
 29 [ 3400 - 3515 ):       3   0.0003%   99.982
 31 [ 3630 - 3745 ):       1   0.0001%   99.982
 32 [ 3745 - 3860 ):       2   0.0002%   99.982
 33 [ 3860 - 3975 ):       2   0.0002%   99.982
 34 [ 3975 - 4090 ):       1   0.0001%   99.982
 36 [ 4205 - 4320 ):       1   0.0001%   99.982
 39 [ 4550 - 4665 ):       1   0.0001%   99.983
 40 [ 4665 - 4780 ):       1   0.0001%   99.983
 49 [ 5700 - 5815 ):     174   0.0174%  100.000

[with T = volatile std::atomic<long unsigned int>*; CFP = SFence; LC = FixedLoopsCount<1000000>]
    ==>> [ns] avg: 113.49 min: 67 max: 496047 med: 106 stddev: 1006.12 50%: 106 90%: 111 99%: 138 99.9%: 190 99.99%: 16692
 hmin: 65 hmax: 5065  bin width: 100 ediff: 0
  0 [   65 -  165 ):  998255  99.8255%   99.826
  1 [  165 -  265 ):    1176   0.1176%   99.943
  2 [  265 -  365 ):     243   0.0243%   99.967
  3 [  365 -  465 ):      20   0.0020%   99.969
  4 [  465 -  565 ):      26   0.0026%   99.972
  5 [  565 -  665 ):       5   0.0005%   99.972
  6 [  665 -  765 ):       6   0.0006%   99.973
  7 [  765 -  865 ):       2   0.0002%   99.973
  8 [  865 -  965 ):       2   0.0002%   99.974
  9 [  965 - 1065 ):       1   0.0001%   99.974
 11 [ 1165 - 1265 ):       6   0.0006%   99.974
 12 [ 1265 - 1365 ):       2   0.0002%   99.974
 13 [ 1365 - 1465 ):       2   0.0002%   99.975
 14 [ 1465 - 1565 ):      11   0.0011%   99.976
 15 [ 1565 - 1665 ):      11   0.0011%   99.977
 16 [ 1665 - 1765 ):      15   0.0015%   99.978
 17 [ 1765 - 1865 ):       7   0.0007%   99.979
 18 [ 1865 - 1965 ):       4   0.0004%   99.979
 19 [ 1965 - 2065 ):       7   0.0007%   99.980
 20 [ 2065 - 2165 ):       4   0.0004%   99.981
 21 [ 2165 - 2265 ):       6   0.0006%   99.981
 22 [ 2265 - 2365 ):       9   0.0009%   99.982
 23 [ 2365 - 2465 ):       5   0.0005%   99.983
 25 [ 2565 - 2665 ):       1   0.0001%   99.983
 26 [ 2665 - 2765 ):       1   0.0001%   99.983
 27 [ 2765 - 2865 ):       2   0.0002%   99.983
 28 [ 2865 - 2965 ):       2   0.0002%   99.983
 29 [ 2965 - 3065 ):       1   0.0001%   99.983
 30 [ 3065 - 3165 ):       1   0.0001%   99.983
 31 [ 3165 - 3265 ):       1   0.0001%   99.983
 32 [ 3265 - 3365 ):       1   0.0001%   99.984
 34 [ 3465 - 3565 ):       1   0.0001%   99.984
 37 [ 3765 - 3865 ):       1   0.0001%   99.984
 42 [ 4265 - 4365 ):       1   0.0001%   99.984
 49 [ 4965 - 5065 ):     162   0.0162%  100.000


About

ping pong in host between cpu cores

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published