mirror of
https://github.com/boostorg/json.git
synced 2026-02-02 08:52:13 +00:00
607 lines
26 KiB
HTML
607 lines
26 KiB
HTML
<!DOCTYPE html>
|
|
<!--
|
|
Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
|
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
Official repository: https://github.com/cppalliance/json
|
|
-->
|
|
<html>
|
|
<head>
|
|
<font face="arial"/>
|
|
</head>
|
|
<body>
|
|
<h1>Boost.JSON Benchmarks</h1>
|
|
<div id="benchmarks">
|
|
</div>
|
|
<br>
|
|
<textarea id="data" cols="60" rows="20" overflow="hidden" onkeyup="autosize(this)">
|
|
|
|
Parse apache_builds.json,clang x64/sse2,boost (pool),775
|
|
Parse apache_builds.json,clang x64/sse2,boost,275
|
|
Parse apache_builds.json,clang x64/sse2,rapidjson (pool),543
|
|
Parse apache_builds.json,clang x64/sse2,rapidjson,340
|
|
Parse apache_builds.json,clang x64/sse2,nlohmann,128
|
|
Parse canada.json,clang x64/sse2,boost (pool),691
|
|
Parse canada.json,clang x64/sse2,boost,382
|
|
Parse canada.json,clang x64/sse2,rapidjson (pool),507
|
|
Parse canada.json,clang x64/sse2,rapidjson,316
|
|
Parse canada.json,clang x64/sse2,nlohmann,55
|
|
Parse citm_catalog.json,clang x64/sse2,boost (pool),1103
|
|
Parse citm_catalog.json,clang x64/sse2,boost,477
|
|
Parse citm_catalog.json,clang x64/sse2,rapidjson (pool),1206
|
|
Parse citm_catalog.json,clang x64/sse2,rapidjson,757
|
|
Parse citm_catalog.json,clang x64/sse2,nlohmann,157
|
|
Parse github_events.json,clang x64/sse2,boost (pool),897
|
|
Parse github_events.json,clang x64/sse2,boost,321
|
|
Parse github_events.json,clang x64/sse2,rapidjson (pool),538
|
|
Parse github_events.json,clang x64/sse2,rapidjson,365
|
|
Parse github_events.json,clang x64/sse2,nlohmann,140
|
|
Parse gsoc-2018.json,clang x64/sse2,boost (pool),924
|
|
Parse gsoc-2018.json,clang x64/sse2,boost,628
|
|
Parse gsoc-2018.json,clang x64/sse2,rapidjson (pool),615
|
|
Parse gsoc-2018.json,clang x64/sse2,rapidjson,508
|
|
Parse gsoc-2018.json,clang x64/sse2,nlohmann,256
|
|
Parse instruments.json,clang x64/sse2,boost (pool),750
|
|
Parse instruments.json,clang x64/sse2,boost,293
|
|
Parse instruments.json,clang x64/sse2,rapidjson (pool),662
|
|
Parse instruments.json,clang x64/sse2,rapidjson,433
|
|
Parse instruments.json,clang x64/sse2,nlohmann,113
|
|
Parse marine_ik.json,clang x64/sse2,boost (pool),510
|
|
Parse marine_ik.json,clang x64/sse2,boost,306
|
|
Parse marine_ik.json,clang x64/sse2,rapidjson (pool),493
|
|
Parse marine_ik.json,clang x64/sse2,rapidjson,356
|
|
Parse marine_ik.json,clang x64/sse2,nlohmann,56
|
|
Parse mesh.json,clang x64/sse2,boost (pool),607
|
|
Parse mesh.json,clang x64/sse2,boost,584
|
|
Parse mesh.json,clang x64/sse2,rapidjson (pool),402
|
|
Parse mesh.json,clang x64/sse2,rapidjson,352
|
|
Parse mesh.json,clang x64/sse2,nlohmann,59
|
|
Parse mesh.pretty.json,clang x64/sse2,boost (pool),1100
|
|
Parse mesh.pretty.json,clang x64/sse2,boost,1164
|
|
Parse mesh.pretty.json,clang x64/sse2,rapidjson (pool),784
|
|
Parse mesh.pretty.json,clang x64/sse2,rapidjson,695
|
|
Parse mesh.pretty.json,clang x64/sse2,nlohmann,110
|
|
Parse numbers.json,clang x64/sse2,boost (pool),1350
|
|
Parse numbers.json,clang x64/sse2,boost,1052
|
|
Parse numbers.json,clang x64/sse2,rapidjson (pool),491
|
|
Parse numbers.json,clang x64/sse2,rapidjson,472
|
|
Parse numbers.json,clang x64/sse2,nlohmann,63
|
|
Parse random.json,clang x64/sse2,boost (pool),394
|
|
Parse random.json,clang x64/sse2,boost,170
|
|
Parse random.json,clang x64/sse2,rapidjson (pool),419
|
|
Parse random.json,clang x64/sse2,rapidjson,276
|
|
Parse random.json,clang x64/sse2,nlohmann,82
|
|
Parse twitter.json,clang x64/sse2,boost (pool),707
|
|
Parse twitter.json,clang x64/sse2,boost,328
|
|
Parse twitter.json,clang x64/sse2,rapidjson (pool),594
|
|
Parse twitter.json,clang x64/sse2,rapidjson,395
|
|
Parse twitter.json,clang x64/sse2,nlohmann,134
|
|
Parse twitterescaped.json,clang x64/sse2,boost (pool),619
|
|
Parse twitterescaped.json,clang x64/sse2,boost,293
|
|
Parse twitterescaped.json,clang x64/sse2,rapidjson (pool),398
|
|
Parse twitterescaped.json,clang x64/sse2,rapidjson,286
|
|
Parse twitterescaped.json,clang x64/sse2,nlohmann,119
|
|
Parse update-center.json,clang x64/sse2,boost (pool),591
|
|
Parse update-center.json,clang x64/sse2,boost,236
|
|
Parse update-center.json,clang x64/sse2,rapidjson (pool),427
|
|
Parse update-center.json,clang x64/sse2,rapidjson,274
|
|
Parse update-center.json,clang x64/sse2,nlohmann,105
|
|
Serialize apache_builds.json,clang x64/sse2,boost (pool),1624
|
|
Serialize apache_builds.json,clang x64/sse2,boost,1806
|
|
Serialize apache_builds.json,clang x64/sse2,rapidjson (pool),1358
|
|
Serialize apache_builds.json,clang x64/sse2,rapidjson,1441
|
|
Serialize apache_builds.json,clang x64/sse2,nlohmann,451
|
|
Serialize canada.json,clang x64/sse2,boost (pool),580
|
|
Serialize canada.json,clang x64/sse2,boost,559
|
|
Serialize canada.json,clang x64/sse2,rapidjson (pool),321
|
|
Serialize canada.json,clang x64/sse2,rapidjson,315
|
|
Serialize canada.json,clang x64/sse2,nlohmann,199
|
|
Serialize citm_catalog.json,clang x64/sse2,boost (pool),3101
|
|
Serialize citm_catalog.json,clang x64/sse2,boost,2964
|
|
Serialize citm_catalog.json,clang x64/sse2,rapidjson (pool),2236
|
|
Serialize citm_catalog.json,clang x64/sse2,rapidjson,2245
|
|
Serialize citm_catalog.json,clang x64/sse2,nlohmann,1241
|
|
Serialize github_events.json,clang x64/sse2,boost (pool),1994
|
|
Serialize github_events.json,clang x64/sse2,boost,1857
|
|
Serialize github_events.json,clang x64/sse2,rapidjson (pool),1494
|
|
Serialize github_events.json,clang x64/sse2,rapidjson,1655
|
|
Serialize github_events.json,clang x64/sse2,nlohmann,407
|
|
Serialize gsoc-2018.json,clang x64/sse2,boost (pool),2340
|
|
Serialize gsoc-2018.json,clang x64/sse2,boost,2248
|
|
Serialize gsoc-2018.json,clang x64/sse2,rapidjson (pool),2898
|
|
Serialize gsoc-2018.json,clang x64/sse2,rapidjson,3066
|
|
Serialize gsoc-2018.json,clang x64/sse2,nlohmann,259
|
|
Serialize instruments.json,clang x64/sse2,boost (pool),2082
|
|
Serialize instruments.json,clang x64/sse2,boost,2014
|
|
Serialize instruments.json,clang x64/sse2,rapidjson (pool),1356
|
|
Serialize instruments.json,clang x64/sse2,rapidjson,1432
|
|
Serialize instruments.json,clang x64/sse2,nlohmann,638
|
|
Serialize marine_ik.json,clang x64/sse2,boost (pool),460
|
|
Serialize marine_ik.json,clang x64/sse2,boost,445
|
|
Serialize marine_ik.json,clang x64/sse2,rapidjson (pool),463
|
|
Serialize marine_ik.json,clang x64/sse2,rapidjson,456
|
|
Serialize marine_ik.json,clang x64/sse2,nlohmann,264
|
|
Serialize mesh.json,clang x64/sse2,boost (pool),473
|
|
Serialize mesh.json,clang x64/sse2,boost,471
|
|
Serialize mesh.json,clang x64/sse2,rapidjson (pool),369
|
|
Serialize mesh.json,clang x64/sse2,rapidjson,368
|
|
Serialize mesh.json,clang x64/sse2,nlohmann,294
|
|
Serialize mesh.pretty.json,clang x64/sse2,boost (pool),1021
|
|
Serialize mesh.pretty.json,clang x64/sse2,boost,1020
|
|
Serialize mesh.pretty.json,clang x64/sse2,rapidjson (pool),803
|
|
Serialize mesh.pretty.json,clang x64/sse2,rapidjson,799
|
|
Serialize mesh.pretty.json,clang x64/sse2,nlohmann,636
|
|
Serialize numbers.json,clang x64/sse2,boost (pool),412
|
|
Serialize numbers.json,clang x64/sse2,boost,412
|
|
Serialize numbers.json,clang x64/sse2,rapidjson (pool),299
|
|
Serialize numbers.json,clang x64/sse2,rapidjson,299
|
|
Serialize numbers.json,clang x64/sse2,nlohmann,236
|
|
Serialize random.json,clang x64/sse2,boost (pool),1265
|
|
Serialize random.json,clang x64/sse2,boost,1220
|
|
Serialize random.json,clang x64/sse2,rapidjson (pool),798
|
|
Serialize random.json,clang x64/sse2,rapidjson,851
|
|
Serialize random.json,clang x64/sse2,nlohmann,351
|
|
Serialize twitter.json,clang x64/sse2,boost (pool),2179
|
|
Serialize twitter.json,clang x64/sse2,boost,1992
|
|
Serialize twitter.json,clang x64/sse2,rapidjson (pool),1339
|
|
Serialize twitter.json,clang x64/sse2,rapidjson,1487
|
|
Serialize twitter.json,clang x64/sse2,nlohmann,467
|
|
Serialize twitterescaped.json,clang x64/sse2,boost (pool),1964
|
|
Serialize twitterescaped.json,clang x64/sse2,boost,1703
|
|
Serialize twitterescaped.json,clang x64/sse2,rapidjson (pool),1192
|
|
Serialize twitterescaped.json,clang x64/sse2,rapidjson,1320
|
|
Serialize twitterescaped.json,clang x64/sse2,nlohmann,417
|
|
Serialize update-center.json,clang x64/sse2,boost (pool),1261
|
|
Serialize update-center.json,clang x64/sse2,boost,1141
|
|
Serialize update-center.json,clang x64/sse2,rapidjson (pool),909
|
|
Serialize update-center.json,clang x64/sse2,rapidjson,983
|
|
Serialize update-center.json,clang x64/sse2,nlohmann,303
|
|
|
|
Parse apache_builds.json,gcc x64/sse2,boost (pool),741
|
|
Parse apache_builds.json,gcc x64/sse2,boost,284
|
|
Parse apache_builds.json,gcc x64/sse2,rapidjson (pool),524
|
|
Parse apache_builds.json,gcc x64/sse2,rapidjson,337
|
|
Parse apache_builds.json,gcc x64/sse2,nlohmann,124
|
|
Parse canada.json,gcc x64/sse2,boost (pool),708
|
|
Parse canada.json,gcc x64/sse2,boost,396
|
|
Parse canada.json,gcc x64/sse2,rapidjson (pool),633
|
|
Parse canada.json,gcc x64/sse2,rapidjson,355
|
|
Parse canada.json,gcc x64/sse2,nlohmann,26
|
|
Parse citm_catalog.json,gcc x64/sse2,boost (pool),1050
|
|
Parse citm_catalog.json,gcc x64/sse2,boost,494
|
|
Parse citm_catalog.json,gcc x64/sse2,rapidjson (pool),1258
|
|
Parse citm_catalog.json,gcc x64/sse2,rapidjson,793
|
|
Parse citm_catalog.json,gcc x64/sse2,nlohmann,168
|
|
Parse github_events.json,gcc x64/sse2,boost (pool),863
|
|
Parse github_events.json,gcc x64/sse2,boost,324
|
|
Parse github_events.json,gcc x64/sse2,rapidjson (pool),523
|
|
Parse github_events.json,gcc x64/sse2,rapidjson,364
|
|
Parse github_events.json,gcc x64/sse2,nlohmann,124
|
|
Parse gsoc-2018.json,gcc x64/sse2,boost (pool),896
|
|
Parse gsoc-2018.json,gcc x64/sse2,boost,645
|
|
Parse gsoc-2018.json,gcc x64/sse2,rapidjson (pool),605
|
|
Parse gsoc-2018.json,gcc x64/sse2,rapidjson,511
|
|
Parse gsoc-2018.json,gcc x64/sse2,nlohmann,202
|
|
Parse instruments.json,gcc x64/sse2,boost (pool),698
|
|
Parse instruments.json,gcc x64/sse2,boost,294
|
|
Parse instruments.json,gcc x64/sse2,rapidjson (pool),681
|
|
Parse instruments.json,gcc x64/sse2,rapidjson,451
|
|
Parse instruments.json,gcc x64/sse2,nlohmann,121
|
|
Parse marine_ik.json,gcc x64/sse2,boost (pool),504
|
|
Parse marine_ik.json,gcc x64/sse2,boost,312
|
|
Parse marine_ik.json,gcc x64/sse2,rapidjson (pool),561
|
|
Parse marine_ik.json,gcc x64/sse2,rapidjson,399
|
|
Parse marine_ik.json,gcc x64/sse2,nlohmann,35
|
|
Parse mesh.json,gcc x64/sse2,boost (pool),571
|
|
Parse mesh.json,gcc x64/sse2,boost,534
|
|
Parse mesh.json,gcc x64/sse2,rapidjson (pool),496
|
|
Parse mesh.json,gcc x64/sse2,rapidjson,424
|
|
Parse mesh.json,gcc x64/sse2,nlohmann,32
|
|
Parse mesh.pretty.json,gcc x64/sse2,boost (pool),1063
|
|
Parse mesh.pretty.json,gcc x64/sse2,boost,1076
|
|
Parse mesh.pretty.json,gcc x64/sse2,rapidjson (pool),965
|
|
Parse mesh.pretty.json,gcc x64/sse2,rapidjson,839
|
|
Parse mesh.pretty.json,gcc x64/sse2,nlohmann,62
|
|
Parse numbers.json,gcc x64/sse2,boost (pool),1154
|
|
Parse numbers.json,gcc x64/sse2,boost,1017
|
|
Parse numbers.json,gcc x64/sse2,rapidjson (pool),612
|
|
Parse numbers.json,gcc x64/sse2,rapidjson,585
|
|
Parse numbers.json,gcc x64/sse2,nlohmann,25
|
|
Parse random.json,gcc x64/sse2,boost (pool),376
|
|
Parse random.json,gcc x64/sse2,boost,175
|
|
Parse random.json,gcc x64/sse2,rapidjson (pool),417
|
|
Parse random.json,gcc x64/sse2,rapidjson,287
|
|
Parse random.json,gcc x64/sse2,nlohmann,85
|
|
Parse twitter.json,gcc x64/sse2,boost (pool),628
|
|
Parse twitter.json,gcc x64/sse2,boost,315
|
|
Parse twitter.json,gcc x64/sse2,rapidjson (pool),608
|
|
Parse twitter.json,gcc x64/sse2,rapidjson,407
|
|
Parse twitter.json,gcc x64/sse2,nlohmann,128
|
|
Parse twitterescaped.json,gcc x64/sse2,boost (pool),620
|
|
Parse twitterescaped.json,gcc x64/sse2,boost,290
|
|
Parse twitterescaped.json,gcc x64/sse2,rapidjson (pool),474
|
|
Parse twitterescaped.json,gcc x64/sse2,rapidjson,328
|
|
Parse twitterescaped.json,gcc x64/sse2,nlohmann,110
|
|
Parse update-center.json,gcc x64/sse2,boost (pool),598
|
|
Parse update-center.json,gcc x64/sse2,boost,246
|
|
Parse update-center.json,gcc x64/sse2,rapidjson (pool),413
|
|
Parse update-center.json,gcc x64/sse2,rapidjson,276
|
|
Parse update-center.json,gcc x64/sse2,nlohmann,97
|
|
Serialize apache_builds.json,gcc x64/sse2,boost (pool),2017
|
|
Serialize apache_builds.json,gcc x64/sse2,boost,1944
|
|
Serialize apache_builds.json,gcc x64/sse2,rapidjson (pool),1380
|
|
Serialize apache_builds.json,gcc x64/sse2,rapidjson,1471
|
|
Serialize apache_builds.json,gcc x64/sse2,nlohmann,420
|
|
Serialize canada.json,gcc x64/sse2,boost (pool),579
|
|
Serialize canada.json,gcc x64/sse2,boost,563
|
|
Serialize canada.json,gcc x64/sse2,rapidjson (pool),332
|
|
Serialize canada.json,gcc x64/sse2,rapidjson,329
|
|
Serialize canada.json,gcc x64/sse2,nlohmann,190
|
|
Serialize citm_catalog.json,gcc x64/sse2,boost (pool),3085
|
|
Serialize citm_catalog.json,gcc x64/sse2,boost,3023
|
|
Serialize citm_catalog.json,gcc x64/sse2,rapidjson (pool),2452
|
|
Serialize citm_catalog.json,gcc x64/sse2,rapidjson,2476
|
|
Serialize citm_catalog.json,gcc x64/sse2,nlohmann,1211
|
|
Serialize github_events.json,gcc x64/sse2,boost (pool),2070
|
|
Serialize github_events.json,gcc x64/sse2,boost,1967
|
|
Serialize github_events.json,gcc x64/sse2,rapidjson (pool),1467
|
|
Serialize github_events.json,gcc x64/sse2,rapidjson,1607
|
|
Serialize github_events.json,gcc x64/sse2,nlohmann,380
|
|
Serialize gsoc-2018.json,gcc x64/sse2,boost (pool),2269
|
|
Serialize gsoc-2018.json,gcc x64/sse2,boost,2203
|
|
Serialize gsoc-2018.json,gcc x64/sse2,rapidjson (pool),2892
|
|
Serialize gsoc-2018.json,gcc x64/sse2,rapidjson,3058
|
|
Serialize gsoc-2018.json,gcc x64/sse2,nlohmann,337
|
|
Serialize instruments.json,gcc x64/sse2,boost (pool),2284
|
|
Serialize instruments.json,gcc x64/sse2,boost,2221
|
|
Serialize instruments.json,gcc x64/sse2,rapidjson (pool),1399
|
|
Serialize instruments.json,gcc x64/sse2,rapidjson,1461
|
|
Serialize instruments.json,gcc x64/sse2,nlohmann,576
|
|
Serialize marine_ik.json,gcc x64/sse2,boost (pool),475
|
|
Serialize marine_ik.json,gcc x64/sse2,boost,463
|
|
Serialize marine_ik.json,gcc x64/sse2,rapidjson (pool),494
|
|
Serialize marine_ik.json,gcc x64/sse2,rapidjson,483
|
|
Serialize marine_ik.json,gcc x64/sse2,nlohmann,281
|
|
Serialize mesh.json,gcc x64/sse2,boost (pool),496
|
|
Serialize mesh.json,gcc x64/sse2,boost,497
|
|
Serialize mesh.json,gcc x64/sse2,rapidjson (pool),414
|
|
Serialize mesh.json,gcc x64/sse2,rapidjson,411
|
|
Serialize mesh.json,gcc x64/sse2,nlohmann,286
|
|
Serialize mesh.pretty.json,gcc x64/sse2,boost (pool),1070
|
|
Serialize mesh.pretty.json,gcc x64/sse2,boost,1067
|
|
Serialize mesh.pretty.json,gcc x64/sse2,rapidjson (pool),899
|
|
Serialize mesh.pretty.json,gcc x64/sse2,rapidjson,896
|
|
Serialize mesh.pretty.json,gcc x64/sse2,nlohmann,619
|
|
Serialize numbers.json,gcc x64/sse2,boost (pool),433
|
|
Serialize numbers.json,gcc x64/sse2,boost,432
|
|
Serialize numbers.json,gcc x64/sse2,rapidjson (pool),320
|
|
Serialize numbers.json,gcc x64/sse2,rapidjson,319
|
|
Serialize numbers.json,gcc x64/sse2,nlohmann,239
|
|
Serialize random.json,gcc x64/sse2,boost (pool),1346
|
|
Serialize random.json,gcc x64/sse2,boost,1333
|
|
Serialize random.json,gcc x64/sse2,rapidjson (pool),805
|
|
Serialize random.json,gcc x64/sse2,rapidjson,876
|
|
Serialize random.json,gcc x64/sse2,nlohmann,329
|
|
Serialize twitter.json,gcc x64/sse2,boost (pool),2295
|
|
Serialize twitter.json,gcc x64/sse2,boost,2163
|
|
Serialize twitter.json,gcc x64/sse2,rapidjson (pool),1228
|
|
Serialize twitter.json,gcc x64/sse2,rapidjson,1327
|
|
Serialize twitter.json,gcc x64/sse2,nlohmann,419
|
|
Serialize twitterescaped.json,gcc x64/sse2,boost (pool),2039
|
|
Serialize twitterescaped.json,gcc x64/sse2,boost,1930
|
|
Serialize twitterescaped.json,gcc x64/sse2,rapidjson (pool),1096
|
|
Serialize twitterescaped.json,gcc x64/sse2,rapidjson,1181
|
|
Serialize twitterescaped.json,gcc x64/sse2,nlohmann,373
|
|
Serialize update-center.json,gcc x64/sse2,boost (pool),1342
|
|
Serialize update-center.json,gcc x64/sse2,boost,1331
|
|
Serialize update-center.json,gcc x64/sse2,rapidjson (pool),903
|
|
Serialize update-center.json,gcc x64/sse2,rapidjson,973
|
|
Serialize update-center.json,gcc x64/sse2,nlohmann,289
|
|
|
|
Parse apache_builds.json,msvc x64/sse2,boost (pool),676
|
|
Parse apache_builds.json,msvc x64/sse2,boost,268
|
|
Parse apache_builds.json,msvc x64/sse2,rapidjson (pool),431
|
|
Parse apache_builds.json,msvc x64/sse2,rapidjson,275
|
|
Parse apache_builds.json,msvc x64/sse2,nlohmann,116
|
|
Parse canada.json,msvc x64/sse2,boost (pool),672
|
|
Parse canada.json,msvc x64/sse2,boost,389
|
|
Parse canada.json,msvc x64/sse2,rapidjson (pool),483
|
|
Parse canada.json,msvc x64/sse2,rapidjson,306
|
|
Parse canada.json,msvc x64/sse2,nlohmann,52
|
|
Parse citm_catalog.json,msvc x64/sse2,boost (pool),1008
|
|
Parse citm_catalog.json,msvc x64/sse2,boost,469
|
|
Parse citm_catalog.json,msvc x64/sse2,rapidjson (pool),1019
|
|
Parse citm_catalog.json,msvc x64/sse2,rapidjson,667
|
|
Parse citm_catalog.json,msvc x64/sse2,nlohmann,147
|
|
Parse github_events.json,msvc x64/sse2,boost (pool),788
|
|
Parse github_events.json,msvc x64/sse2,boost,315
|
|
Parse github_events.json,msvc x64/sse2,rapidjson (pool),406
|
|
Parse github_events.json,msvc x64/sse2,rapidjson,284
|
|
Parse github_events.json,msvc x64/sse2,nlohmann,129
|
|
Parse gsoc-2018.json,msvc x64/sse2,boost (pool),862
|
|
Parse gsoc-2018.json,msvc x64/sse2,boost,609
|
|
Parse gsoc-2018.json,msvc x64/sse2,rapidjson (pool),470
|
|
Parse gsoc-2018.json,msvc x64/sse2,rapidjson,372
|
|
Parse gsoc-2018.json,msvc x64/sse2,nlohmann,240
|
|
Parse instruments.json,msvc x64/sse2,boost (pool),652
|
|
Parse instruments.json,msvc x64/sse2,boost,285
|
|
Parse instruments.json,msvc x64/sse2,rapidjson (pool),482
|
|
Parse instruments.json,msvc x64/sse2,rapidjson,347
|
|
Parse instruments.json,msvc x64/sse2,nlohmann,107
|
|
Parse marine_ik.json,msvc x64/sse2,boost (pool),478
|
|
Parse marine_ik.json,msvc x64/sse2,boost,295
|
|
Parse marine_ik.json,msvc x64/sse2,rapidjson (pool),467
|
|
Parse marine_ik.json,msvc x64/sse2,rapidjson,340
|
|
Parse marine_ik.json,msvc x64/sse2,nlohmann,52
|
|
Parse mesh.json,msvc x64/sse2,boost (pool),582
|
|
Parse mesh.json,msvc x64/sse2,boost,571
|
|
Parse mesh.json,msvc x64/sse2,rapidjson (pool),394
|
|
Parse mesh.json,msvc x64/sse2,rapidjson,343
|
|
Parse mesh.json,msvc x64/sse2,nlohmann,57
|
|
Parse mesh.pretty.json,msvc x64/sse2,boost (pool),1070
|
|
Parse mesh.pretty.json,msvc x64/sse2,boost,1143
|
|
Parse mesh.pretty.json,msvc x64/sse2,rapidjson (pool),766
|
|
Parse mesh.pretty.json,msvc x64/sse2,rapidjson,679
|
|
Parse mesh.pretty.json,msvc x64/sse2,nlohmann,106
|
|
Parse numbers.json,msvc x64/sse2,boost (pool),1126
|
|
Parse numbers.json,msvc x64/sse2,boost,996
|
|
Parse numbers.json,msvc x64/sse2,rapidjson (pool),460
|
|
Parse numbers.json,msvc x64/sse2,rapidjson,438
|
|
Parse numbers.json,msvc x64/sse2,nlohmann,61
|
|
Parse random.json,msvc x64/sse2,boost (pool),350
|
|
Parse random.json,msvc x64/sse2,boost,164
|
|
Parse random.json,msvc x64/sse2,rapidjson (pool),312
|
|
Parse random.json,msvc x64/sse2,rapidjson,213
|
|
Parse random.json,msvc x64/sse2,nlohmann,77
|
|
Parse twitter.json,msvc x64/sse2,boost (pool),598
|
|
Parse twitter.json,msvc x64/sse2,boost,307
|
|
Parse twitter.json,msvc x64/sse2,rapidjson (pool),429
|
|
Parse twitter.json,msvc x64/sse2,rapidjson,306
|
|
Parse twitter.json,msvc x64/sse2,nlohmann,126
|
|
Parse twitterescaped.json,msvc x64/sse2,boost (pool),542
|
|
Parse twitterescaped.json,msvc x64/sse2,boost,276
|
|
Parse twitterescaped.json,msvc x64/sse2,rapidjson (pool),300
|
|
Parse twitterescaped.json,msvc x64/sse2,rapidjson,229
|
|
Parse twitterescaped.json,msvc x64/sse2,nlohmann,111
|
|
Parse update-center.json,msvc x64/sse2,boost (pool),532
|
|
Parse update-center.json,msvc x64/sse2,boost,232
|
|
Parse update-center.json,msvc x64/sse2,rapidjson (pool),318
|
|
Parse update-center.json,msvc x64/sse2,rapidjson,215
|
|
Parse update-center.json,msvc x64/sse2,nlohmann,96
|
|
Serialize apache_builds.json,msvc x64/sse2,boost (pool),1385
|
|
Serialize apache_builds.json,msvc x64/sse2,boost,1277
|
|
Serialize apache_builds.json,msvc x64/sse2,rapidjson (pool),1246
|
|
Serialize apache_builds.json,msvc x64/sse2,rapidjson,1340
|
|
Serialize apache_builds.json,msvc x64/sse2,nlohmann,345
|
|
Serialize canada.json,msvc x64/sse2,boost (pool),477
|
|
Serialize canada.json,msvc x64/sse2,boost,465
|
|
Serialize canada.json,msvc x64/sse2,rapidjson (pool),308
|
|
Serialize canada.json,msvc x64/sse2,rapidjson,304
|
|
Serialize canada.json,msvc x64/sse2,nlohmann,155
|
|
Serialize citm_catalog.json,msvc x64/sse2,boost (pool),2178
|
|
Serialize citm_catalog.json,msvc x64/sse2,boost,2130
|
|
Serialize citm_catalog.json,msvc x64/sse2,rapidjson (pool),2137
|
|
Serialize citm_catalog.json,msvc x64/sse2,rapidjson,2153
|
|
Serialize citm_catalog.json,msvc x64/sse2,nlohmann,1153
|
|
Serialize github_events.json,msvc x64/sse2,boost (pool),1489
|
|
Serialize github_events.json,msvc x64/sse2,boost,1445
|
|
Serialize github_events.json,msvc x64/sse2,rapidjson (pool),1332
|
|
Serialize github_events.json,msvc x64/sse2,rapidjson,1466
|
|
Serialize github_events.json,msvc x64/sse2,nlohmann,294
|
|
Serialize gsoc-2018.json,msvc x64/sse2,boost (pool),1708
|
|
Serialize gsoc-2018.json,msvc x64/sse2,boost,1598
|
|
Serialize gsoc-2018.json,msvc x64/sse2,rapidjson (pool),2722
|
|
Serialize gsoc-2018.json,msvc x64/sse2,rapidjson,2861
|
|
Serialize gsoc-2018.json,msvc x64/sse2,nlohmann,216
|
|
Serialize instruments.json,msvc x64/sse2,boost (pool),1372
|
|
Serialize instruments.json,msvc x64/sse2,boost,1303
|
|
Serialize instruments.json,msvc x64/sse2,rapidjson (pool),1212
|
|
Serialize instruments.json,msvc x64/sse2,rapidjson,1282
|
|
Serialize instruments.json,msvc x64/sse2,nlohmann,528
|
|
Serialize marine_ik.json,msvc x64/sse2,boost (pool),393
|
|
Serialize marine_ik.json,msvc x64/sse2,boost,384
|
|
Serialize marine_ik.json,msvc x64/sse2,rapidjson (pool),419
|
|
Serialize marine_ik.json,msvc x64/sse2,rapidjson,414
|
|
Serialize marine_ik.json,msvc x64/sse2,nlohmann,202
|
|
Serialize mesh.json,msvc x64/sse2,boost (pool),401
|
|
Serialize mesh.json,msvc x64/sse2,boost,401
|
|
Serialize mesh.json,msvc x64/sse2,rapidjson (pool),341
|
|
Serialize mesh.json,msvc x64/sse2,rapidjson,339
|
|
Serialize mesh.json,msvc x64/sse2,nlohmann,214
|
|
Serialize mesh.pretty.json,msvc x64/sse2,boost (pool),873
|
|
Serialize mesh.pretty.json,msvc x64/sse2,boost,873
|
|
Serialize mesh.pretty.json,msvc x64/sse2,rapidjson (pool),742
|
|
Serialize mesh.pretty.json,msvc x64/sse2,rapidjson,738
|
|
Serialize mesh.pretty.json,msvc x64/sse2,nlohmann,463
|
|
Serialize numbers.json,msvc x64/sse2,boost (pool),360
|
|
Serialize numbers.json,msvc x64/sse2,boost,360
|
|
Serialize numbers.json,msvc x64/sse2,rapidjson (pool),266
|
|
Serialize numbers.json,msvc x64/sse2,rapidjson,265
|
|
Serialize numbers.json,msvc x64/sse2,nlohmann,164
|
|
Serialize random.json,msvc x64/sse2,boost (pool),837
|
|
Serialize random.json,msvc x64/sse2,boost,806
|
|
Serialize random.json,msvc x64/sse2,rapidjson (pool),720
|
|
Serialize random.json,msvc x64/sse2,rapidjson,772
|
|
Serialize random.json,msvc x64/sse2,nlohmann,293
|
|
Serialize twitter.json,msvc x64/sse2,boost (pool),1565
|
|
Serialize twitter.json,msvc x64/sse2,boost,1495
|
|
Serialize twitter.json,msvc x64/sse2,rapidjson (pool),1186
|
|
Serialize twitter.json,msvc x64/sse2,rapidjson,1304
|
|
Serialize twitter.json,msvc x64/sse2,nlohmann,388
|
|
Serialize twitterescaped.json,msvc x64/sse2,boost (pool),1396
|
|
Serialize twitterescaped.json,msvc x64/sse2,boost,1335
|
|
Serialize twitterescaped.json,msvc x64/sse2,rapidjson (pool),1054
|
|
Serialize twitterescaped.json,msvc x64/sse2,rapidjson,1162
|
|
Serialize twitterescaped.json,msvc x64/sse2,nlohmann,346
|
|
Serialize update-center.json,msvc x64/sse2,boost (pool),959
|
|
Serialize update-center.json,msvc x64/sse2,boost,914
|
|
Serialize update-center.json,msvc x64/sse2,rapidjson (pool),820
|
|
Serialize update-center.json,msvc x64/sse2,rapidjson,883
|
|
Serialize update-center.json,msvc x64/sse2,nlohmann,229
|
|
|
|
</textarea>
|
|
|
|
<script>
|
|
|
|
var Width = 600;
|
|
|
|
function autosize (f) {
|
|
if (f.scrollHeight > f.clientHeight) {
|
|
f.style.height = f.scrollHeight + "px";
|
|
}
|
|
}
|
|
|
|
// Draw a single bar chart representing
|
|
// results for one platform and architecture
|
|
function draw_chart(ctx, title, rows, mbsMax) {
|
|
var xMax = Math.max(...Object.values(rows));
|
|
|
|
// gray separator
|
|
ctx.beginPath();
|
|
ctx.strokeStyle = "#A0A0A0";
|
|
ctx.moveTo(0, 0.5);
|
|
ctx.lineTo(Width, 0.5);
|
|
ctx.stroke();
|
|
ctx.translate(0, 28);
|
|
|
|
// title
|
|
ctx.textAlign = "left";
|
|
ctx.fillStyle = "#000000";
|
|
ctx.font = 'bold 16px sans-serif';
|
|
ctx.fillText(title, 0, 0);
|
|
ctx.translate(0, 26);
|
|
|
|
// chart rows
|
|
Object.entries(rows).forEach(([name, mbs]) =>
|
|
{
|
|
var dy = 4;
|
|
|
|
ctx.textAlign = "left";
|
|
ctx.fillStyle = "#000000";
|
|
ctx.font = '14px sans-serif';
|
|
ctx.fillText(name, 0, 0);
|
|
|
|
var xMbs = 195;
|
|
if(name.startsWith("boost"))
|
|
ctx.fillStyle = "#eb342a";
|
|
else
|
|
ctx.fillStyle = "#909090";
|
|
var w = (Width - 170) * mbs / mbsMax
|
|
if(w < xMbs - 120)
|
|
w = xMbs - 120;
|
|
ctx.fillRect(130, -20+dy, w, 20);
|
|
|
|
ctx.textAlign = "right";
|
|
ctx.font = '13px sans-serif';
|
|
ctx.fillStyle = "#000000";
|
|
ctx.fillText(mbs + " MB/s", xMbs + 1, 1);
|
|
ctx.fillStyle = "#ffffff";
|
|
ctx.fillText(mbs + " MB/s", xMbs, 0);
|
|
|
|
ctx.translate(0, 24);
|
|
});
|
|
|
|
// gray separator
|
|
ctx.translate(0, -4);
|
|
ctx.beginPath();
|
|
ctx.strokeStyle = "#A0A0A0";
|
|
ctx.moveTo(0, 0.5);
|
|
ctx.lineTo(Width, 0.5);
|
|
ctx.stroke();
|
|
}
|
|
|
|
// Draw multiple bar charts, one
|
|
// for each platform and architecture
|
|
function draw_charts(ctx, tab, mbsMax) {
|
|
// top margin
|
|
ctx.translate(0, 16);
|
|
|
|
// draw each chart
|
|
Object.entries(tab).forEach(([name, rows]) =>
|
|
{
|
|
draw_chart(ctx, name, rows, mbsMax);
|
|
});
|
|
|
|
// bottom margin
|
|
ctx.translate(0, 16);
|
|
}
|
|
|
|
function measure_and_draw(canvas, tab) {
|
|
mbsMax = 0;
|
|
Object.entries(tab).forEach(([name, rows]) =>
|
|
{
|
|
mbsMax = Math.max(mbsMax, ...Object.values(rows));
|
|
});
|
|
|
|
var LeftMargin = 48;
|
|
|
|
// Measure the height needed
|
|
canvas.width = Width;
|
|
canvas.height = 30000;
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.save();
|
|
draw_charts(ctx, tab);
|
|
var tx = ctx.getTransform();
|
|
var height = tx["f"];
|
|
|
|
// Resize the canvas to fit
|
|
canvas.width = LeftMargin + Width + 20;
|
|
canvas.height = height;
|
|
|
|
// Make everything opaque
|
|
ctx.fillStyle = "#FFFFFF";
|
|
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
ctx.translate(LeftMargin, 0);
|
|
draw_charts(ctx, tab, mbsMax);
|
|
ctx.restore();
|
|
}
|
|
|
|
function update()
|
|
{
|
|
var tab = new Object();
|
|
var lines = data.value.split('\n');
|
|
for (var i = 0; i < lines.length; i++)
|
|
{
|
|
if(lines[i].length == 0)
|
|
continue;
|
|
items = lines[i].split(',');
|
|
var title = items[0]
|
|
var target = items[1];
|
|
var name = items[2];
|
|
var mbs = items[3];
|
|
if(! (title in tab))
|
|
tab[title] = new Object();
|
|
if(! (target in tab[title]))
|
|
tab[title][target] = new Object();
|
|
var set = tab[title][target];
|
|
if(! (name in set))
|
|
set[name] = new Object();
|
|
set[name] = mbs;
|
|
}
|
|
|
|
benchmarks.innerHTML = "";
|
|
Object.entries(tab).forEach(([title, charts]) =>
|
|
{
|
|
benchmarks.innerHTML +=
|
|
"<h2>" + title + "</h2>" +
|
|
"<canvas id=\"" + title + "\" width=\"800\" height=\"600\">";
|
|
});
|
|
Object.entries(tab).forEach(([title, charts]) =>
|
|
{
|
|
measure_and_draw(document.getElementById(title), charts)
|
|
});
|
|
}
|
|
|
|
data.oninput = function()
|
|
{
|
|
update();
|
|
}
|
|
|
|
update();
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|