mirror of
https://github.com/boostorg/json.git
synced 2025-05-11 13:44:06 +00:00
608 lines
26 KiB
HTML
608 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/boostorg/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),740
|
|
Parse apache_builds.json,clang x64/sse2,boost,290
|
|
Parse apache_builds.json,clang x64/sse2,rapidjson (pool),564
|
|
Parse apache_builds.json,clang x64/sse2,rapidjson,353
|
|
Parse apache_builds.json,clang x64/sse2,nlohmann,130
|
|
Parse canada.json,clang x64/sse2,boost (pool),642
|
|
Parse canada.json,clang x64/sse2,boost,385
|
|
Parse canada.json,clang x64/sse2,rapidjson (pool),506
|
|
Parse canada.json,clang x64/sse2,rapidjson,303
|
|
Parse canada.json,clang x64/sse2,nlohmann,55
|
|
Parse citm_catalog.json,clang x64/sse2,boost (pool),1120
|
|
Parse citm_catalog.json,clang x64/sse2,boost,476
|
|
Parse citm_catalog.json,clang x64/sse2,rapidjson (pool),1200
|
|
Parse citm_catalog.json,clang x64/sse2,rapidjson,698
|
|
Parse citm_catalog.json,clang x64/sse2,nlohmann,140
|
|
Parse github_events.json,clang x64/sse2,boost (pool),833
|
|
Parse github_events.json,clang x64/sse2,boost,314
|
|
Parse github_events.json,clang x64/sse2,rapidjson (pool),525
|
|
Parse github_events.json,clang x64/sse2,rapidjson,349
|
|
Parse github_events.json,clang x64/sse2,nlohmann,136
|
|
Parse gsoc-2018.json,clang x64/sse2,boost (pool),879
|
|
Parse gsoc-2018.json,clang x64/sse2,boost,595
|
|
Parse gsoc-2018.json,clang x64/sse2,rapidjson (pool),596
|
|
Parse gsoc-2018.json,clang x64/sse2,rapidjson,488
|
|
Parse gsoc-2018.json,clang x64/sse2,nlohmann,261
|
|
Parse instruments.json,clang x64/sse2,boost (pool),690
|
|
Parse instruments.json,clang x64/sse2,boost,301
|
|
Parse instruments.json,clang x64/sse2,rapidjson (pool),685
|
|
Parse instruments.json,clang x64/sse2,rapidjson,451
|
|
Parse instruments.json,clang x64/sse2,nlohmann,117
|
|
Parse marine_ik.json,clang x64/sse2,boost (pool),476
|
|
Parse marine_ik.json,clang x64/sse2,boost,314
|
|
Parse marine_ik.json,clang x64/sse2,rapidjson (pool),500
|
|
Parse marine_ik.json,clang x64/sse2,rapidjson,363
|
|
Parse marine_ik.json,clang x64/sse2,nlohmann,56
|
|
Parse mesh.json,clang x64/sse2,boost (pool),522
|
|
Parse mesh.json,clang x64/sse2,boost,560
|
|
Parse mesh.json,clang x64/sse2,rapidjson (pool),398
|
|
Parse mesh.json,clang x64/sse2,rapidjson,347
|
|
Parse mesh.json,clang x64/sse2,nlohmann,59
|
|
Parse mesh.pretty.json,clang x64/sse2,boost (pool),1033
|
|
Parse mesh.pretty.json,clang x64/sse2,boost,1195
|
|
Parse mesh.pretty.json,clang x64/sse2,rapidjson (pool),820
|
|
Parse mesh.pretty.json,clang x64/sse2,rapidjson,723
|
|
Parse mesh.pretty.json,clang x64/sse2,nlohmann,115
|
|
Parse numbers.json,clang x64/sse2,boost (pool),1105
|
|
Parse numbers.json,clang x64/sse2,boost,1042
|
|
Parse numbers.json,clang x64/sse2,rapidjson (pool),497
|
|
Parse numbers.json,clang x64/sse2,rapidjson,472
|
|
Parse numbers.json,clang x64/sse2,nlohmann,63
|
|
Parse random.json,clang x64/sse2,boost (pool),375
|
|
Parse random.json,clang x64/sse2,boost,180
|
|
Parse random.json,clang x64/sse2,rapidjson (pool),438
|
|
Parse random.json,clang x64/sse2,rapidjson,290
|
|
Parse random.json,clang x64/sse2,nlohmann,86
|
|
Parse twitter.json,clang x64/sse2,boost (pool),682
|
|
Parse twitter.json,clang x64/sse2,boost,329
|
|
Parse twitter.json,clang x64/sse2,rapidjson (pool),603
|
|
Parse twitter.json,clang x64/sse2,rapidjson,406
|
|
Parse twitter.json,clang x64/sse2,nlohmann,137
|
|
Parse twitterescaped.json,clang x64/sse2,boost (pool),567
|
|
Parse twitterescaped.json,clang x64/sse2,boost,280
|
|
Parse twitterescaped.json,clang x64/sse2,rapidjson (pool),398
|
|
Parse twitterescaped.json,clang x64/sse2,rapidjson,287
|
|
Parse twitterescaped.json,clang x64/sse2,nlohmann,120
|
|
Parse update-center.json,clang x64/sse2,boost (pool),530
|
|
Parse update-center.json,clang x64/sse2,boost,233
|
|
Parse update-center.json,clang x64/sse2,rapidjson (pool),426
|
|
Parse update-center.json,clang x64/sse2,rapidjson,277
|
|
Parse update-center.json,clang x64/sse2,nlohmann,105
|
|
Serialize apache_builds.json,clang x64/sse2,boost (pool),1659
|
|
Serialize apache_builds.json,clang x64/sse2,boost,1480
|
|
Serialize apache_builds.json,clang x64/sse2,rapidjson (pool),1431
|
|
Serialize apache_builds.json,clang x64/sse2,rapidjson,1528
|
|
Serialize apache_builds.json,clang x64/sse2,nlohmann,407
|
|
Serialize canada.json,clang x64/sse2,boost (pool),578
|
|
Serialize canada.json,clang x64/sse2,boost,561
|
|
Serialize canada.json,clang x64/sse2,rapidjson (pool),313
|
|
Serialize canada.json,clang x64/sse2,rapidjson,309
|
|
Serialize canada.json,clang x64/sse2,nlohmann,178
|
|
Serialize citm_catalog.json,clang x64/sse2,boost (pool),3039
|
|
Serialize citm_catalog.json,clang x64/sse2,boost,2882
|
|
Serialize citm_catalog.json,clang x64/sse2,rapidjson (pool),2200
|
|
Serialize citm_catalog.json,clang x64/sse2,rapidjson,2210
|
|
Serialize citm_catalog.json,clang x64/sse2,nlohmann,1151
|
|
Serialize github_events.json,clang x64/sse2,boost (pool),1529
|
|
Serialize github_events.json,clang x64/sse2,boost,1559
|
|
Serialize github_events.json,clang x64/sse2,rapidjson (pool),1500
|
|
Serialize github_events.json,clang x64/sse2,rapidjson,1680
|
|
Serialize github_events.json,clang x64/sse2,nlohmann,368
|
|
Serialize gsoc-2018.json,clang x64/sse2,boost (pool),2347
|
|
Serialize gsoc-2018.json,clang x64/sse2,boost,2243
|
|
Serialize gsoc-2018.json,clang x64/sse2,rapidjson (pool),2895
|
|
Serialize gsoc-2018.json,clang x64/sse2,rapidjson,3066
|
|
Serialize gsoc-2018.json,clang x64/sse2,nlohmann,241
|
|
Serialize instruments.json,clang x64/sse2,boost (pool),2183
|
|
Serialize instruments.json,clang x64/sse2,boost,1905
|
|
Serialize instruments.json,clang x64/sse2,rapidjson (pool),1350
|
|
Serialize instruments.json,clang x64/sse2,rapidjson,1430
|
|
Serialize instruments.json,clang x64/sse2,nlohmann,587
|
|
Serialize marine_ik.json,clang x64/sse2,boost (pool),469
|
|
Serialize marine_ik.json,clang x64/sse2,boost,454
|
|
Serialize marine_ik.json,clang x64/sse2,rapidjson (pool),452
|
|
Serialize marine_ik.json,clang x64/sse2,rapidjson,445
|
|
Serialize marine_ik.json,clang x64/sse2,nlohmann,229
|
|
Serialize mesh.json,clang x64/sse2,boost (pool),476
|
|
Serialize mesh.json,clang x64/sse2,boost,475
|
|
Serialize mesh.json,clang x64/sse2,rapidjson (pool),367
|
|
Serialize mesh.json,clang x64/sse2,rapidjson,366
|
|
Serialize mesh.json,clang x64/sse2,nlohmann,275
|
|
Serialize mesh.pretty.json,clang x64/sse2,boost (pool),1082
|
|
Serialize mesh.pretty.json,clang x64/sse2,boost,1081
|
|
Serialize mesh.pretty.json,clang x64/sse2,rapidjson (pool),840
|
|
Serialize mesh.pretty.json,clang x64/sse2,rapidjson,835
|
|
Serialize mesh.pretty.json,clang x64/sse2,nlohmann,623
|
|
Serialize numbers.json,clang x64/sse2,boost (pool),415
|
|
Serialize numbers.json,clang x64/sse2,boost,415
|
|
Serialize numbers.json,clang x64/sse2,rapidjson (pool),300
|
|
Serialize numbers.json,clang x64/sse2,rapidjson,297
|
|
Serialize numbers.json,clang x64/sse2,nlohmann,216
|
|
Serialize random.json,clang x64/sse2,boost (pool),1290
|
|
Serialize random.json,clang x64/sse2,boost,1173
|
|
Serialize random.json,clang x64/sse2,rapidjson (pool),838
|
|
Serialize random.json,clang x64/sse2,rapidjson,892
|
|
Serialize random.json,clang x64/sse2,nlohmann,338
|
|
Serialize twitter.json,clang x64/sse2,boost (pool),2271
|
|
Serialize twitter.json,clang x64/sse2,boost,1622
|
|
Serialize twitter.json,clang x64/sse2,rapidjson (pool),1364
|
|
Serialize twitter.json,clang x64/sse2,rapidjson,1527
|
|
Serialize twitter.json,clang x64/sse2,nlohmann,424
|
|
Serialize twitterescaped.json,clang x64/sse2,boost (pool),1961
|
|
Serialize twitterescaped.json,clang x64/sse2,boost,1388
|
|
Serialize twitterescaped.json,clang x64/sse2,rapidjson (pool),1184
|
|
Serialize twitterescaped.json,clang x64/sse2,rapidjson,1325
|
|
Serialize twitterescaped.json,clang x64/sse2,nlohmann,368
|
|
Serialize update-center.json,clang x64/sse2,boost (pool),1015
|
|
Serialize update-center.json,clang x64/sse2,boost,963
|
|
Serialize update-center.json,clang x64/sse2,rapidjson (pool),924
|
|
Serialize update-center.json,clang x64/sse2,rapidjson,1007
|
|
Serialize update-center.json,clang x64/sse2,nlohmann,270
|
|
|
|
Parse apache_builds.json,gcc x64/sse2,boost (pool),706
|
|
Parse apache_builds.json,gcc x64/sse2,boost,290
|
|
Parse apache_builds.json,gcc x64/sse2,rapidjson (pool),547
|
|
Parse apache_builds.json,gcc x64/sse2,rapidjson,356
|
|
Parse apache_builds.json,gcc x64/sse2,nlohmann,118
|
|
Parse canada.json,gcc x64/sse2,boost (pool),675
|
|
Parse canada.json,gcc x64/sse2,boost,395
|
|
Parse canada.json,gcc x64/sse2,rapidjson (pool),641
|
|
Parse canada.json,gcc x64/sse2,rapidjson,372
|
|
Parse canada.json,gcc x64/sse2,nlohmann,26
|
|
Parse citm_catalog.json,gcc x64/sse2,boost (pool),1096
|
|
Parse citm_catalog.json,gcc x64/sse2,boost,503
|
|
Parse citm_catalog.json,gcc x64/sse2,rapidjson (pool),1279
|
|
Parse citm_catalog.json,gcc x64/sse2,rapidjson,812
|
|
Parse citm_catalog.json,gcc x64/sse2,nlohmann,143
|
|
Parse github_events.json,gcc x64/sse2,boost (pool),767
|
|
Parse github_events.json,gcc x64/sse2,boost,327
|
|
Parse github_events.json,gcc x64/sse2,rapidjson (pool),551
|
|
Parse github_events.json,gcc x64/sse2,rapidjson,379
|
|
Parse github_events.json,gcc x64/sse2,nlohmann,121
|
|
Parse gsoc-2018.json,gcc x64/sse2,boost (pool),892
|
|
Parse gsoc-2018.json,gcc x64/sse2,boost,645
|
|
Parse gsoc-2018.json,gcc x64/sse2,rapidjson (pool),620
|
|
Parse gsoc-2018.json,gcc x64/sse2,rapidjson,523
|
|
Parse gsoc-2018.json,gcc x64/sse2,nlohmann,197
|
|
Parse instruments.json,gcc x64/sse2,boost (pool),608
|
|
Parse instruments.json,gcc x64/sse2,boost,296
|
|
Parse instruments.json,gcc x64/sse2,rapidjson (pool),723
|
|
Parse instruments.json,gcc x64/sse2,rapidjson,473
|
|
Parse instruments.json,gcc x64/sse2,nlohmann,112
|
|
Parse marine_ik.json,gcc x64/sse2,boost (pool),505
|
|
Parse marine_ik.json,gcc x64/sse2,boost,321
|
|
Parse marine_ik.json,gcc x64/sse2,rapidjson (pool),583
|
|
Parse marine_ik.json,gcc x64/sse2,rapidjson,411
|
|
Parse marine_ik.json,gcc x64/sse2,nlohmann,35
|
|
Parse mesh.json,gcc x64/sse2,boost (pool),551
|
|
Parse mesh.json,gcc x64/sse2,boost,518
|
|
Parse mesh.json,gcc x64/sse2,rapidjson (pool),491
|
|
Parse mesh.json,gcc x64/sse2,rapidjson,422
|
|
Parse mesh.json,gcc x64/sse2,nlohmann,32
|
|
Parse mesh.pretty.json,gcc x64/sse2,boost (pool),1091
|
|
Parse mesh.pretty.json,gcc x64/sse2,boost,1096
|
|
Parse mesh.pretty.json,gcc x64/sse2,rapidjson (pool),1023
|
|
Parse mesh.pretty.json,gcc x64/sse2,rapidjson,887
|
|
Parse mesh.pretty.json,gcc x64/sse2,nlohmann,61
|
|
Parse numbers.json,gcc x64/sse2,boost (pool),1088
|
|
Parse numbers.json,gcc x64/sse2,boost,968
|
|
Parse numbers.json,gcc x64/sse2,rapidjson (pool),633
|
|
Parse numbers.json,gcc x64/sse2,rapidjson,596
|
|
Parse numbers.json,gcc x64/sse2,nlohmann,25
|
|
Parse random.json,gcc x64/sse2,boost (pool),346
|
|
Parse random.json,gcc x64/sse2,boost,175
|
|
Parse random.json,gcc x64/sse2,rapidjson (pool),449
|
|
Parse random.json,gcc x64/sse2,rapidjson,308
|
|
Parse random.json,gcc x64/sse2,nlohmann,85
|
|
Parse twitter.json,gcc x64/sse2,boost (pool),597
|
|
Parse twitter.json,gcc x64/sse2,boost,308
|
|
Parse twitter.json,gcc x64/sse2,rapidjson (pool),630
|
|
Parse twitter.json,gcc x64/sse2,rapidjson,423
|
|
Parse twitter.json,gcc x64/sse2,nlohmann,123
|
|
Parse twitterescaped.json,gcc x64/sse2,boost (pool),533
|
|
Parse twitterescaped.json,gcc x64/sse2,boost,270
|
|
Parse twitterescaped.json,gcc x64/sse2,rapidjson (pool),475
|
|
Parse twitterescaped.json,gcc x64/sse2,rapidjson,333
|
|
Parse twitterescaped.json,gcc x64/sse2,nlohmann,108
|
|
Parse update-center.json,gcc x64/sse2,boost (pool),509
|
|
Parse update-center.json,gcc x64/sse2,boost,231
|
|
Parse update-center.json,gcc x64/sse2,rapidjson (pool),418
|
|
Parse update-center.json,gcc x64/sse2,rapidjson,282
|
|
Parse update-center.json,gcc x64/sse2,nlohmann,95
|
|
Serialize apache_builds.json,gcc x64/sse2,boost (pool),2102
|
|
Serialize apache_builds.json,gcc x64/sse2,boost,2029
|
|
Serialize apache_builds.json,gcc x64/sse2,rapidjson (pool),1424
|
|
Serialize apache_builds.json,gcc x64/sse2,rapidjson,1526
|
|
Serialize apache_builds.json,gcc x64/sse2,nlohmann,448
|
|
Serialize canada.json,gcc x64/sse2,boost (pool),563
|
|
Serialize canada.json,gcc x64/sse2,boost,541
|
|
Serialize canada.json,gcc x64/sse2,rapidjson (pool),335
|
|
Serialize canada.json,gcc x64/sse2,rapidjson,327
|
|
Serialize canada.json,gcc x64/sse2,nlohmann,156
|
|
Serialize citm_catalog.json,gcc x64/sse2,boost (pool),3474
|
|
Serialize citm_catalog.json,gcc x64/sse2,boost,3263
|
|
Serialize citm_catalog.json,gcc x64/sse2,rapidjson (pool),2453
|
|
Serialize citm_catalog.json,gcc x64/sse2,rapidjson,2469
|
|
Serialize citm_catalog.json,gcc x64/sse2,nlohmann,1204
|
|
Serialize github_events.json,gcc x64/sse2,boost (pool),2091
|
|
Serialize github_events.json,gcc x64/sse2,boost,2069
|
|
Serialize github_events.json,gcc x64/sse2,rapidjson (pool),1475
|
|
Serialize github_events.json,gcc x64/sse2,rapidjson,1658
|
|
Serialize github_events.json,gcc x64/sse2,nlohmann,413
|
|
Serialize gsoc-2018.json,gcc x64/sse2,boost (pool),2048
|
|
Serialize gsoc-2018.json,gcc x64/sse2,boost,1991
|
|
Serialize gsoc-2018.json,gcc x64/sse2,rapidjson (pool),2901
|
|
Serialize gsoc-2018.json,gcc x64/sse2,rapidjson,3073
|
|
Serialize gsoc-2018.json,gcc x64/sse2,nlohmann,365
|
|
Serialize instruments.json,gcc x64/sse2,boost (pool),2381
|
|
Serialize instruments.json,gcc x64/sse2,boost,2319
|
|
Serialize instruments.json,gcc x64/sse2,rapidjson (pool),1453
|
|
Serialize instruments.json,gcc x64/sse2,rapidjson,1514
|
|
Serialize instruments.json,gcc x64/sse2,nlohmann,613
|
|
Serialize marine_ik.json,gcc x64/sse2,boost (pool),469
|
|
Serialize marine_ik.json,gcc x64/sse2,boost,455
|
|
Serialize marine_ik.json,gcc x64/sse2,rapidjson (pool),504
|
|
Serialize marine_ik.json,gcc x64/sse2,rapidjson,494
|
|
Serialize marine_ik.json,gcc x64/sse2,nlohmann,235
|
|
Serialize mesh.json,gcc x64/sse2,boost (pool),476
|
|
Serialize mesh.json,gcc x64/sse2,boost,466
|
|
Serialize mesh.json,gcc x64/sse2,rapidjson (pool),415
|
|
Serialize mesh.json,gcc x64/sse2,rapidjson,413
|
|
Serialize mesh.json,gcc x64/sse2,nlohmann,278
|
|
Serialize mesh.pretty.json,gcc x64/sse2,boost (pool),1081
|
|
Serialize mesh.pretty.json,gcc x64/sse2,boost,1056
|
|
Serialize mesh.pretty.json,gcc x64/sse2,rapidjson (pool),950
|
|
Serialize mesh.pretty.json,gcc x64/sse2,rapidjson,945
|
|
Serialize mesh.pretty.json,gcc x64/sse2,nlohmann,624
|
|
Serialize numbers.json,gcc x64/sse2,boost (pool),418
|
|
Serialize numbers.json,gcc x64/sse2,boost,417
|
|
Serialize numbers.json,gcc x64/sse2,rapidjson (pool),322
|
|
Serialize numbers.json,gcc x64/sse2,rapidjson,321
|
|
Serialize numbers.json,gcc x64/sse2,nlohmann,240
|
|
Serialize random.json,gcc x64/sse2,boost (pool),1464
|
|
Serialize random.json,gcc x64/sse2,boost,1420
|
|
Serialize random.json,gcc x64/sse2,rapidjson (pool),850
|
|
Serialize random.json,gcc x64/sse2,rapidjson,922
|
|
Serialize random.json,gcc x64/sse2,nlohmann,351
|
|
Serialize twitter.json,gcc x64/sse2,boost (pool),2367
|
|
Serialize twitter.json,gcc x64/sse2,boost,2281
|
|
Serialize twitter.json,gcc x64/sse2,rapidjson (pool),1244
|
|
Serialize twitter.json,gcc x64/sse2,rapidjson,1401
|
|
Serialize twitter.json,gcc x64/sse2,nlohmann,447
|
|
Serialize twitterescaped.json,gcc x64/sse2,boost (pool),2053
|
|
Serialize twitterescaped.json,gcc x64/sse2,boost,1985
|
|
Serialize twitterescaped.json,gcc x64/sse2,rapidjson (pool),1077
|
|
Serialize twitterescaped.json,gcc x64/sse2,rapidjson,1216
|
|
Serialize twitterescaped.json,gcc x64/sse2,nlohmann,388
|
|
Serialize update-center.json,gcc x64/sse2,boost (pool),1350
|
|
Serialize update-center.json,gcc x64/sse2,boost,1298
|
|
Serialize update-center.json,gcc x64/sse2,rapidjson (pool),901
|
|
Serialize update-center.json,gcc x64/sse2,rapidjson,975
|
|
Serialize update-center.json,gcc x64/sse2,nlohmann,299
|
|
|
|
Parse apache_builds.json,msvc x64/sse2,boost (pool),616
|
|
Parse apache_builds.json,msvc x64/sse2,boost,277
|
|
Parse apache_builds.json,msvc x64/sse2,rapidjson (pool),385
|
|
Parse apache_builds.json,msvc x64/sse2,rapidjson,270
|
|
Parse apache_builds.json,msvc x64/sse2,nlohmann,121
|
|
Parse canada.json,msvc x64/sse2,boost (pool),637
|
|
Parse canada.json,msvc x64/sse2,boost,369
|
|
Parse canada.json,msvc x64/sse2,rapidjson (pool),490
|
|
Parse canada.json,msvc x64/sse2,rapidjson,312
|
|
Parse canada.json,msvc x64/sse2,nlohmann,52
|
|
Parse citm_catalog.json,msvc x64/sse2,boost (pool),999
|
|
Parse citm_catalog.json,msvc x64/sse2,boost,477
|
|
Parse citm_catalog.json,msvc x64/sse2,rapidjson (pool),978
|
|
Parse citm_catalog.json,msvc x64/sse2,rapidjson,659
|
|
Parse citm_catalog.json,msvc x64/sse2,nlohmann,148
|
|
Parse github_events.json,msvc x64/sse2,boost (pool),713
|
|
Parse github_events.json,msvc x64/sse2,boost,318
|
|
Parse github_events.json,msvc x64/sse2,rapidjson (pool),356
|
|
Parse github_events.json,msvc x64/sse2,rapidjson,278
|
|
Parse github_events.json,msvc x64/sse2,nlohmann,134
|
|
Parse gsoc-2018.json,msvc x64/sse2,boost (pool),881
|
|
Parse gsoc-2018.json,msvc x64/sse2,boost,628
|
|
Parse gsoc-2018.json,msvc x64/sse2,rapidjson (pool),375
|
|
Parse gsoc-2018.json,msvc x64/sse2,rapidjson,336
|
|
Parse gsoc-2018.json,msvc x64/sse2,nlohmann,243
|
|
Parse instruments.json,msvc x64/sse2,boost (pool),562
|
|
Parse instruments.json,msvc x64/sse2,boost,286
|
|
Parse instruments.json,msvc x64/sse2,rapidjson (pool),481
|
|
Parse instruments.json,msvc x64/sse2,rapidjson,349
|
|
Parse instruments.json,msvc x64/sse2,nlohmann,112
|
|
Parse marine_ik.json,msvc x64/sse2,boost (pool),448
|
|
Parse marine_ik.json,msvc x64/sse2,boost,298
|
|
Parse marine_ik.json,msvc x64/sse2,rapidjson (pool),482
|
|
Parse marine_ik.json,msvc x64/sse2,rapidjson,350
|
|
Parse marine_ik.json,msvc x64/sse2,nlohmann,56
|
|
Parse mesh.json,msvc x64/sse2,boost (pool),536
|
|
Parse mesh.json,msvc x64/sse2,boost,535
|
|
Parse mesh.json,msvc x64/sse2,rapidjson (pool),400
|
|
Parse mesh.json,msvc x64/sse2,rapidjson,347
|
|
Parse mesh.json,msvc x64/sse2,nlohmann,57
|
|
Parse mesh.pretty.json,msvc x64/sse2,boost (pool),1057
|
|
Parse mesh.pretty.json,msvc x64/sse2,boost,1132
|
|
Parse mesh.pretty.json,msvc x64/sse2,rapidjson (pool),813
|
|
Parse mesh.pretty.json,msvc x64/sse2,rapidjson,717
|
|
Parse mesh.pretty.json,msvc x64/sse2,nlohmann,112
|
|
Parse numbers.json,msvc x64/sse2,boost (pool),981
|
|
Parse numbers.json,msvc x64/sse2,boost,895
|
|
Parse numbers.json,msvc x64/sse2,rapidjson (pool),465
|
|
Parse numbers.json,msvc x64/sse2,rapidjson,443
|
|
Parse numbers.json,msvc x64/sse2,nlohmann,62
|
|
Parse random.json,msvc x64/sse2,boost (pool),324
|
|
Parse random.json,msvc x64/sse2,boost,171
|
|
Parse random.json,msvc x64/sse2,rapidjson (pool),297
|
|
Parse random.json,msvc x64/sse2,rapidjson,222
|
|
Parse random.json,msvc x64/sse2,nlohmann,82
|
|
Parse twitter.json,msvc x64/sse2,boost (pool),548
|
|
Parse twitter.json,msvc x64/sse2,boost,307
|
|
Parse twitter.json,msvc x64/sse2,rapidjson (pool),394
|
|
Parse twitter.json,msvc x64/sse2,rapidjson,299
|
|
Parse twitter.json,msvc x64/sse2,nlohmann,130
|
|
Parse twitterescaped.json,msvc x64/sse2,boost (pool),467
|
|
Parse twitterescaped.json,msvc x64/sse2,boost,264
|
|
Parse twitterescaped.json,msvc x64/sse2,rapidjson (pool),284
|
|
Parse twitterescaped.json,msvc x64/sse2,rapidjson,222
|
|
Parse twitterescaped.json,msvc x64/sse2,nlohmann,112
|
|
Parse update-center.json,msvc x64/sse2,boost (pool),446
|
|
Parse update-center.json,msvc x64/sse2,boost,223
|
|
Parse update-center.json,msvc x64/sse2,rapidjson (pool),278
|
|
Parse update-center.json,msvc x64/sse2,rapidjson,206
|
|
Parse update-center.json,msvc x64/sse2,nlohmann,99
|
|
Serialize apache_builds.json,msvc x64/sse2,boost (pool),1446
|
|
Serialize apache_builds.json,msvc x64/sse2,boost,1389
|
|
Serialize apache_builds.json,msvc x64/sse2,rapidjson (pool),1286
|
|
Serialize apache_builds.json,msvc x64/sse2,rapidjson,1368
|
|
Serialize apache_builds.json,msvc x64/sse2,nlohmann,346
|
|
Serialize canada.json,msvc x64/sse2,boost (pool),473
|
|
Serialize canada.json,msvc x64/sse2,boost,460
|
|
Serialize canada.json,msvc x64/sse2,rapidjson (pool),305
|
|
Serialize canada.json,msvc x64/sse2,rapidjson,300
|
|
Serialize canada.json,msvc x64/sse2,nlohmann,141
|
|
Serialize citm_catalog.json,msvc x64/sse2,boost (pool),2182
|
|
Serialize citm_catalog.json,msvc x64/sse2,boost,2128
|
|
Serialize citm_catalog.json,msvc x64/sse2,rapidjson (pool),2116
|
|
Serialize citm_catalog.json,msvc x64/sse2,rapidjson,2135
|
|
Serialize citm_catalog.json,msvc x64/sse2,nlohmann,1142
|
|
Serialize github_events.json,msvc x64/sse2,boost (pool),1541
|
|
Serialize github_events.json,msvc x64/sse2,boost,1501
|
|
Serialize github_events.json,msvc x64/sse2,rapidjson (pool),1336
|
|
Serialize github_events.json,msvc x64/sse2,rapidjson,1459
|
|
Serialize github_events.json,msvc x64/sse2,nlohmann,291
|
|
Serialize gsoc-2018.json,msvc x64/sse2,boost (pool),1726
|
|
Serialize gsoc-2018.json,msvc x64/sse2,boost,1666
|
|
Serialize gsoc-2018.json,msvc x64/sse2,rapidjson (pool),2679
|
|
Serialize gsoc-2018.json,msvc x64/sse2,rapidjson,2821
|
|
Serialize gsoc-2018.json,msvc x64/sse2,nlohmann,206
|
|
Serialize instruments.json,msvc x64/sse2,boost (pool),1442
|
|
Serialize instruments.json,msvc x64/sse2,boost,1409
|
|
Serialize instruments.json,msvc x64/sse2,rapidjson (pool),1239
|
|
Serialize instruments.json,msvc x64/sse2,rapidjson,1317
|
|
Serialize instruments.json,msvc x64/sse2,nlohmann,550
|
|
Serialize marine_ik.json,msvc x64/sse2,boost (pool),397
|
|
Serialize marine_ik.json,msvc x64/sse2,boost,385
|
|
Serialize marine_ik.json,msvc x64/sse2,rapidjson (pool),425
|
|
Serialize marine_ik.json,msvc x64/sse2,rapidjson,419
|
|
Serialize marine_ik.json,msvc x64/sse2,nlohmann,179
|
|
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),342
|
|
Serialize mesh.json,msvc x64/sse2,rapidjson,341
|
|
Serialize mesh.json,msvc x64/sse2,nlohmann,212
|
|
Serialize mesh.pretty.json,msvc x64/sse2,boost (pool),918
|
|
Serialize mesh.pretty.json,msvc x64/sse2,boost,918
|
|
Serialize mesh.pretty.json,msvc x64/sse2,rapidjson (pool),782
|
|
Serialize mesh.pretty.json,msvc x64/sse2,rapidjson,779
|
|
Serialize mesh.pretty.json,msvc x64/sse2,nlohmann,481
|
|
Serialize numbers.json,msvc x64/sse2,boost (pool),359
|
|
Serialize numbers.json,msvc x64/sse2,boost,353
|
|
Serialize numbers.json,msvc x64/sse2,rapidjson (pool),268
|
|
Serialize numbers.json,msvc x64/sse2,rapidjson,268
|
|
Serialize numbers.json,msvc x64/sse2,nlohmann,165
|
|
Serialize random.json,msvc x64/sse2,boost (pool),887
|
|
Serialize random.json,msvc x64/sse2,boost,865
|
|
Serialize random.json,msvc x64/sse2,rapidjson (pool),761
|
|
Serialize random.json,msvc x64/sse2,rapidjson,813
|
|
Serialize random.json,msvc x64/sse2,nlohmann,308
|
|
Serialize twitter.json,msvc x64/sse2,boost (pool),1612
|
|
Serialize twitter.json,msvc x64/sse2,boost,1556
|
|
Serialize twitter.json,msvc x64/sse2,rapidjson (pool),1217
|
|
Serialize twitter.json,msvc x64/sse2,rapidjson,1341
|
|
Serialize twitter.json,msvc x64/sse2,nlohmann,393
|
|
Serialize twitterescaped.json,msvc x64/sse2,boost (pool),1400
|
|
Serialize twitterescaped.json,msvc x64/sse2,boost,1351
|
|
Serialize twitterescaped.json,msvc x64/sse2,rapidjson (pool),1057
|
|
Serialize twitterescaped.json,msvc x64/sse2,rapidjson,1163
|
|
Serialize twitterescaped.json,msvc x64/sse2,nlohmann,341
|
|
Serialize update-center.json,msvc x64/sse2,boost (pool),969
|
|
Serialize update-center.json,msvc x64/sse2,boost,941
|
|
Serialize update-center.json,msvc x64/sse2,rapidjson (pool),795
|
|
Serialize update-center.json,msvc x64/sse2,rapidjson,864
|
|
Serialize update-center.json,msvc x64/sse2,nlohmann,224
|
|
|
|
|
|
</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>
|