Skip to content

Instantly share code, notes, and snippets.

@mswilson
Created December 8, 2019 22:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mswilson/caa0095ede50150cc17aacfcc15d6743 to your computer and use it in GitHub Desktop.
Save mswilson/caa0095ede50150cc17aacfcc15d6743 to your computer and use it in GitHub Desktop.
simdjson parser.sh run on m6g.16xlarge on Ubuntu Bionic ami-03f3d98d9ddb32a79 out-of-the-box
ubuntu@ip-10-0-2-180:~/simdjson/build$ ../scripts/parser.sh
make: 'parsingcompetition' is up to date.
/home/ubuntu/simdjson/scripts/../jsonexamples/apache_builds.json
getline : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.769 GB/s (error margin: 0.003 GB/s)
simdjson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.062 GB/s (error margin: 0.011 GB/s)
simdjson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.047 GB/s (error margin: 0.010 GB/s)
RapidJSON : 0.004 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.269 GB/s (error margin: 0.014 GB/s)
RapidJSON (insitu) : 0.004 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.260 GB/s (error margin: 0.029 GB/s)
sajson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.713 GB/s (error margin: 0.004 GB/s)
sajson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.797 GB/s (error margin: 0.004 GB/s)
nlohmann-json : 0.017 (clock units) per input byte (best) 0.017 (clock units) per input byte (avg) 0.061 GB/s (error margin: 0.002 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 31.787 GB/s (error margin: 0.280 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 309100 instructions 878154 branchmisses 169 cacheref 168320 cachemisses 2871 bytespercachemiss 751 inspercycle 2.8 insperbyte 6.9
RapidJSON: cycles 1387529 instructions 2837064 branchmisses 3110 cacheref 1247909 cachemisses 5508 bytespercachemiss 41 inspercycle 2.0 insperbyte 22.3
sajson : cycles 405872 instructions 1138174 branchmisses 2139 cacheref 419069 cachemisses 3425 bytespercachemiss 59 inspercycle 2.8 insperbyte 8.9
/home/ubuntu/simdjson/scripts/../jsonexamples/canada.json
getline : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 12.760 GB/s (error margin: 3.227 GB/s)
simdjson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.562 GB/s (error margin: 0.028 GB/s)
simdjson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.564 GB/s (error margin: 0.015 GB/s)
RapidJSON : 0.003 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.304 GB/s (error margin: 0.023 GB/s)
RapidJSON (insitu) : 0.004 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.268 GB/s (error margin: 0.000 GB/s)
sajson (dynamic mem) : 0.003 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.370 GB/s (error margin: 0.010 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.440 GB/s (error margin: 0.006 GB/s)
nlohmann-json : 0.028 (clock units) per input byte (best) 0.029 (clock units) per input byte (avg) 0.035 GB/s (error margin: 0.000 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 17.644 GB/s (error margin: 0.210 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 10038859 instructions 29574766 branchmisses 17419 cacheref 4768908 cachemisses 21689 bytespercachemiss 129 inspercycle 2.9 insperbyte 13.1
RapidJSON: cycles 21049810 instructions 58647598 branchmisses 15322 cacheref 15231978 cachemisses 127377 bytespercachemiss 147 inspercycle 2.8 insperbyte 26.1
sajson : cycles 12818071 instructions 43988540 branchmisses 13012 cacheref 5681132 cachemisses 56163 bytespercachemiss 173 inspercycle 3.4 insperbyte 19.5
/home/ubuntu/simdjson/scripts/../jsonexamples/citm_catalog.json
getline : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.804 GB/s (error margin: 0.003 GB/s)
simdjson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.241 GB/s (error margin: 0.089 GB/s)
simdjson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.237 GB/s (error margin: 0.048 GB/s)
RapidJSON : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.422 GB/s (error margin: 0.016 GB/s)
RapidJSON (insitu) : 0.003 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.397 GB/s (error margin: 0.008 GB/s)
sajson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.688 GB/s (error margin: 0.019 GB/s)
sajson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.772 GB/s (error margin: 0.012 GB/s)
nlohmann-json : 0.012 (clock units) per input byte (best) 0.012 (clock units) per input byte (avg) 0.084 GB/s (error margin: 0.001 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 17.845 GB/s (error margin: 0.363 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 3477086 instructions 10045077 branchmisses 2078 cacheref 1700208 cachemisses 22182 bytespercachemiss 831 inspercycle 2.9 insperbyte 5.8
RapidJSON: cycles 11023563 instructions 25910709 branchmisses 74080 cacheref 8797104 cachemisses 59392 bytespercachemiss 23 inspercycle 2.4 insperbyte 15.0
sajson : cycles 5617370 instructions 17018023 branchmisses 6891 cacheref 4971016 cachemisses 35034 bytespercachemiss 251 inspercycle 3.0 insperbyte 9.9
/home/ubuntu/simdjson/scripts/../jsonexamples/github_events.json
getline : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.069 GB/s (error margin: 0.006 GB/s)
simdjson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.151 GB/s (error margin: 0.011 GB/s)
simdjson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.165 GB/s (error margin: 0.016 GB/s)
RapidJSON : 0.003 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.295 GB/s (error margin: 0.014 GB/s)
RapidJSON (insitu) : 0.004 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.248 GB/s (error margin: 0.014 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.661 GB/s (error margin: 0.003 GB/s)
sajson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.728 GB/s (error margin: 0.006 GB/s)
nlohmann-json : 0.016 (clock units) per input byte (best) 0.017 (clock units) per input byte (avg) 0.062 GB/s (error margin: 0.003 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 28.973 GB/s (error margin: 0.522 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 145304 instructions 392858 branchmisses 218 cacheref 69391 cachemisses 1846 bytespercachemiss 298 inspercycle 2.7 insperbyte 6.0
RapidJSON: cycles 699954 instructions 1364815 branchmisses 1970 cacheref 609321 cachemisses 2325 bytespercachemiss 33 inspercycle 1.9 insperbyte 21.0
sajson : cycles 230885 instructions 589309 branchmisses 1435 cacheref 208889 cachemisses 1490 bytespercachemiss 45 inspercycle 2.6 insperbyte 9.0
/home/ubuntu/simdjson/scripts/../jsonexamples/gsoc-2018.json
getline : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 2.995 GB/s (error margin: 0.016 GB/s)
simdjson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.491 GB/s (error margin: 0.138 GB/s)
simdjson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.489 GB/s (error margin: 0.075 GB/s)
RapidJSON : 0.003 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.321 GB/s (error margin: 0.022 GB/s)
RapidJSON (insitu) : 0.004 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.261 GB/s (error margin: 0.008 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.572 GB/s (error margin: 0.005 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.589 GB/s (error margin: 0.004 GB/s)
nlohmann-json : 0.015 (clock units) per input byte (best) 0.015 (clock units) per input byte (avg) 0.069 GB/s (error margin: 0.001 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 17.484 GB/s (error margin: 0.287 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 5654692 instructions 13739928 branchmisses 18976 cacheref 1844020 cachemisses 68524 bytespercachemiss 175 inspercycle 2.4 insperbyte 4.1
RapidJSON: cycles 32705357 instructions 62437622 branchmisses 37398 cacheref 27812836 cachemisses 63960 bytespercachemiss 89 inspercycle 1.9 insperbyte 18.8
sajson : cycles 14156086 instructions 32176470 branchmisses 29822 cacheref 7925384 cachemisses 35355 bytespercachemiss 112 inspercycle 2.3 insperbyte 9.7
/home/ubuntu/simdjson/scripts/../jsonexamples/instruments.json
getline : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.703 GB/s (error margin: 0.002 GB/s)
simdjson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.026 GB/s (error margin: 0.015 GB/s)
simdjson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.020 GB/s (error margin: 0.011 GB/s)
RapidJSON : 0.003 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.290 GB/s (error margin: 0.013 GB/s)
RapidJSON (insitu) : 0.003 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.291 GB/s (error margin: 0.027 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.572 GB/s (error margin: 0.003 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.645 GB/s (error margin: 0.003 GB/s)
nlohmann-json : 0.016 (clock units) per input byte (best) 0.016 (clock units) per input byte (avg) 0.064 GB/s (error margin: 0.002 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 34.429 GB/s (error margin: 0.369 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 549649 instructions 1597580 branchmisses 660 cacheref 310655 cachemisses 5633 bytespercachemiss 334 inspercycle 2.9 insperbyte 7.3
RapidJSON: cycles 2081672 instructions 4614459 branchmisses 6843 cacheref 1873199 cachemisses 8877 bytespercachemiss 32 inspercycle 2.2 insperbyte 20.9
sajson : cycles 862795 instructions 2575647 branchmisses 1466 cacheref 840832 cachemisses 5868 bytespercachemiss 150 inspercycle 3.0 insperbyte 11.7
/home/ubuntu/simdjson/scripts/../jsonexamples/marine_ik.json
getline : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.424 GB/s (error margin: 0.007 GB/s)
simdjson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.524 GB/s (error margin: 0.039 GB/s)
simdjson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.522 GB/s (error margin: 0.019 GB/s)
RapidJSON : 0.004 (clock units) per input byte (best) 0.005 (clock units) per input byte (avg) 0.233 GB/s (error margin: 0.017 GB/s)
RapidJSON (insitu) : 0.005 (clock units) per input byte (best) 0.005 (clock units) per input byte (avg) 0.210 GB/s (error margin: 0.000 GB/s)
sajson (dynamic mem) : 0.003 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.341 GB/s (error margin: 0.011 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.416 GB/s (error margin: 0.009 GB/s)
nlohmann-json : 0.022 (clock units) per input byte (best) 0.023 (clock units) per input byte (avg) 0.045 GB/s (error margin: 0.001 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 17.629 GB/s (error margin: 0.279 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 14398615 instructions 41055194 branchmisses 50533 cacheref 7527545 cachemisses 87964 bytespercachemiss 59 inspercycle 2.9 insperbyte 13.8
RapidJSON: cycles 35249095 instructions 85852972 branchmisses 150108 cacheref 30056504 cachemisses 278070 bytespercachemiss 20 inspercycle 2.4 insperbyte 28.8
sajson : cycles 17976266 instructions 55819682 branchmisses 44623 cacheref 11260447 cachemisses 111373 bytespercachemiss 67 inspercycle 3.1 insperbyte 18.7
/home/ubuntu/simdjson/scripts/../jsonexamples/mesh.json
getline : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 14.110 GB/s (error margin: 0.510 GB/s)
simdjson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.527 GB/s (error margin: 0.005 GB/s)
simdjson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.527 GB/s (error margin: 0.005 GB/s)
RapidJSON : 0.004 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.239 GB/s (error margin: 0.014 GB/s)
RapidJSON (insitu) : 0.005 (clock units) per input byte (best) 0.005 (clock units) per input byte (avg) 0.221 GB/s (error margin: 0.003 GB/s)
sajson (dynamic mem) : 0.003 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.323 GB/s (error margin: 0.003 GB/s)
sajson : 0.003 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.391 GB/s (error margin: 0.002 GB/s)
nlohmann-json : 0.023 (clock units) per input byte (best) 0.024 (clock units) per input byte (avg) 0.043 GB/s (error margin: 0.001 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 33.041 GB/s (error margin: 2.674 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 3475320 instructions 10507814 branchmisses 9318 cacheref 1657669 cachemisses 6208 bytespercachemiss 78 inspercycle 3.0 insperbyte 14.5
RapidJSON: cycles 8442618 instructions 21864450 branchmisses 15289 cacheref 6649788 cachemisses 74654 bytespercachemiss 47 inspercycle 2.6 insperbyte 30.2
sajson : cycles 4655733 instructions 14991046 branchmisses 11887 cacheref 2200044 cachemisses 23597 bytespercachemiss 61 inspercycle 3.2 insperbyte 20.7
/home/ubuntu/simdjson/scripts/../jsonexamples/mesh.pretty.json
getline : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.571 GB/s (error margin: 0.004 GB/s)
simdjson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.823 GB/s (error margin: 0.052 GB/s)
simdjson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.830 GB/s (error margin: 0.037 GB/s)
RapidJSON : 0.002 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.401 GB/s (error margin: 0.024 GB/s)
RapidJSON (insitu) : 0.003 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.371 GB/s (error margin: 0.001 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.514 GB/s (error margin: 0.012 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.587 GB/s (error margin: 0.010 GB/s)
nlohmann-json : 0.014 (clock units) per input byte (best) 0.014 (clock units) per input byte (avg) 0.070 GB/s (error margin: 0.000 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 18.213 GB/s (error margin: 0.742 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 4891794 instructions 13658550 branchmisses 13835 cacheref 1873292 cachemisses 11495 bytespercachemiss 114 inspercycle 2.8 insperbyte 8.7
RapidJSON: cycles 10556850 instructions 28655128 branchmisses 20951 cacheref 7517929 cachemisses 87967 bytespercachemiss 75 inspercycle 2.7 insperbyte 18.2
sajson : cycles 6743978 instructions 20723652 branchmisses 14896 cacheref 3807382 cachemisses 31770 bytespercachemiss 106 inspercycle 3.1 insperbyte 13.1
/home/ubuntu/simdjson/scripts/../jsonexamples/numbers.json
getline : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 13.220 GB/s (error margin: 0.163 GB/s)
simdjson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.604 GB/s (error margin: 0.005 GB/s)
simdjson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.604 GB/s (error margin: 0.003 GB/s)
RapidJSON : 0.003 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.292 GB/s (error margin: 0.008 GB/s)
RapidJSON (insitu) : 0.003 (clock units) per input byte (best) 0.003 (clock units) per input byte (avg) 0.290 GB/s (error margin: 0.004 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.418 GB/s (error margin: 0.002 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.493 GB/s (error margin: 0.002 GB/s)
nlohmann-json : 0.025 (clock units) per input byte (best) 0.025 (clock units) per input byte (avg) 0.040 GB/s (error margin: 0.000 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 32.973 GB/s (error margin: 0.367 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 626342 instructions 1865293 branchmisses 2185 cacheref 258565 cachemisses 1538 bytespercachemiss 69 inspercycle 3.0 insperbyte 12.4
RapidJSON: cycles 1318946 instructions 3725963 branchmisses 2254 cacheref 934808 cachemisses 11353 bytespercachemiss 67 inspercycle 2.8 insperbyte 24.8
sajson : cycles 767937 instructions 2595344 branchmisses 2011 cacheref 335510 cachemisses 3115 bytespercachemiss 75 inspercycle 3.4 insperbyte 17.3
/home/ubuntu/simdjson/scripts/../jsonexamples/random.json
getline : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.466 GB/s (error margin: 0.001 GB/s)
simdjson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.610 GB/s (error margin: 0.006 GB/s)
simdjson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.601 GB/s (error margin: 0.005 GB/s)
RapidJSON : 0.005 (clock units) per input byte (best) 0.005 (clock units) per input byte (avg) 0.198 GB/s (error margin: 0.011 GB/s)
RapidJSON (insitu) : 0.005 (clock units) per input byte (best) 0.005 (clock units) per input byte (avg) 0.204 GB/s (error margin: 0.019 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.420 GB/s (error margin: 0.003 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.486 GB/s (error margin: 0.002 GB/s)
nlohmann-json : 0.023 (clock units) per input byte (best) 0.023 (clock units) per input byte (avg) 0.044 GB/s (error margin: 0.001 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 35.962 GB/s (error margin: 1.235 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 2148255 instructions 5730238 branchmisses 3280 cacheref 1171583 cachemisses 24314 bytespercachemiss 156 inspercycle 2.7 insperbyte 11.2
RapidJSON: cycles 6966665 instructions 15135099 branchmisses 15551 cacheref 6745471 cachemisses 28664 bytespercachemiss 33 inspercycle 2.2 insperbyte 29.6
sajson : cycles 2646835 instructions 7600226 branchmisses 13248 cacheref 2336800 cachemisses 17917 bytespercachemiss 39 inspercycle 2.9 insperbyte 14.9
/home/ubuntu/simdjson/scripts/../jsonexamples/twitter.json
getline : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.911 GB/s (error margin: 0.004 GB/s)
simdjson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.028 GB/s (error margin: 0.009 GB/s)
simdjson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 1.032 GB/s (error margin: 0.006 GB/s)
RapidJSON : 0.004 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.275 GB/s (error margin: 0.013 GB/s)
RapidJSON (insitu) : 0.003 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.289 GB/s (error margin: 0.040 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.585 GB/s (error margin: 0.005 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.645 GB/s (error margin: 0.004 GB/s)
nlohmann-json : 0.016 (clock units) per input byte (best) 0.017 (clock units) per input byte (avg) 0.061 GB/s (error margin: 0.003 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 34.391 GB/s (error margin: 9.953 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 1544146 instructions 4222300 branchmisses 2441 cacheref 742563 cachemisses 16790 bytespercachemiss 259 inspercycle 2.7 insperbyte 6.7
RapidJSON: cycles 6256593 instructions 12701560 branchmisses 27359 cacheref 5686611 cachemisses 20231 bytespercachemiss 23 inspercycle 2.0 insperbyte 20.1
sajson : cycles 2473311 instructions 6882035 branchmisses 11504 cacheref 2216594 cachemisses 13017 bytespercachemiss 55 inspercycle 2.8 insperbyte 10.9
/home/ubuntu/simdjson/scripts/../jsonexamples/twitterescaped.json
getline : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 14.627 GB/s (error margin: 0.394 GB/s)
simdjson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.558 GB/s (error margin: 0.005 GB/s)
simdjson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.556 GB/s (error margin: 0.005 GB/s)
RapidJSON : 0.004 (clock units) per input byte (best) 0.005 (clock units) per input byte (avg) 0.228 GB/s (error margin: 0.006 GB/s)
RapidJSON (insitu) : 0.004 (clock units) per input byte (best) 0.004 (clock units) per input byte (avg) 0.250 GB/s (error margin: 0.023 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.478 GB/s (error margin: 0.003 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.519 GB/s (error margin: 0.002 GB/s)
nlohmann-json : 0.018 (clock units) per input byte (best) 0.019 (clock units) per input byte (avg) 0.055 GB/s (error margin: 0.003 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 35.041 GB/s (error margin: 1.375 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 2559008 instructions 6149568 branchmisses 4094 cacheref 1232899 cachemisses 18669 bytespercachemiss 137 inspercycle 2.4 insperbyte 10.9
RapidJSON: cycles 6223751 instructions 12703038 branchmisses 25798 cacheref 5549421 cachemisses 21274 bytespercachemiss 22 inspercycle 2.0 insperbyte 22.6
sajson : cycles 2741106 instructions 7379805 branchmisses 23647 cacheref 2004165 cachemisses 11958 bytespercachemiss 24 inspercycle 2.7 insperbyte 13.1
/home/ubuntu/simdjson/scripts/../jsonexamples/update-center.json
getline : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 13.578 GB/s (error margin: 0.304 GB/s)
simdjson (dynamic mem) : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.859 GB/s (error margin: 0.010 GB/s)
simdjson : 0.001 (clock units) per input byte (best) 0.001 (clock units) per input byte (avg) 0.878 GB/s (error margin: 0.012 GB/s)
RapidJSON : 0.004 (clock units) per input byte (best) 0.005 (clock units) per input byte (avg) 0.223 GB/s (error margin: 0.010 GB/s)
RapidJSON (insitu) : 0.005 (clock units) per input byte (best) 0.005 (clock units) per input byte (avg) 0.186 GB/s (error margin: 0.003 GB/s)
sajson (dynamic mem) : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.510 GB/s (error margin: 0.004 GB/s)
sajson : 0.002 (clock units) per input byte (best) 0.002 (clock units) per input byte (avg) 0.595 GB/s (error margin: 0.004 GB/s)
nlohmann-json : 0.020 (clock units) per input byte (best) 0.023 (clock units) per input byte (avg) 0.050 GB/s (error margin: 0.006 GB/s)
memcpy : 0.000 (clock units) per input byte (best) 0.000 (clock units) per input byte (avg) 32.720 GB/s (error margin: 1.843 GB/s)
<doing additional analysis with performance counters (Linux only)>
simdjson : cycles 1544686 instructions 4101802 branchmisses 4979 cacheref 880555 cachemisses 20381 bytespercachemiss 107 inspercycle 2.7 insperbyte 7.7
RapidJSON: cycles 7349385 instructions 13966688 branchmisses 16057 cacheref 6578181 cachemisses 22318 bytespercachemiss 33 inspercycle 1.9 insperbyte 26.2
sajson : cycles 2263833 instructions 5983280 branchmisses 18860 cacheref 2254774 cachemisses 16345 bytespercachemiss 28 inspercycle 2.6 insperbyte 11.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment