1{ 2 "context": { 3 "date": "2019-05-09 19:20:27", 4 "executable": "./benchmark/histogram_iteration", 5 "num_cpus": 4, 6 "mhz_per_cpu": 3000, 7 "cpu_scaling_enabled": true, 8 "caches": [ 9 { 10 "type": "Data", 11 "level": 1, 12 "size": 32000000, 13 "num_sharing": 2 14 }, 15 { 16 "type": "Instruction", 17 "level": 1, 18 "size": 32000000, 19 "num_sharing": 2 20 }, 21 { 22 "type": "Unified", 23 "level": 2, 24 "size": 256000000, 25 "num_sharing": 2 26 }, 27 { 28 "type": "Unified", 29 "level": 3, 30 "size": 4096000000, 31 "num_sharing": 4 32 } 33 ], 34 "library_build_type": "release" 35 }, 36 "benchmarks": [ 37 { 38 "name": "Naive/(tuple, 1, inner)/2", 39 "iterations": 206731020, 40 "real_time": 3.3683881934817235e+00, 41 "cpu_time": 3.3679911268275071e+00, 42 "time_unit": "ns" 43 }, 44 { 45 "name": "Naive/(tuple, 1, inner)/4", 46 "iterations": 110869776, 47 "real_time": 6.1177169240587093e+00, 48 "cpu_time": 6.1172973236637551e+00, 49 "time_unit": "ns" 50 }, 51 { 52 "name": "Naive/(tuple, 1, inner)/16", 53 "iterations": 29711808, 54 "real_time": 2.3479127625078444e+01, 55 "cpu_time": 2.3477822520931749e+01, 56 "time_unit": "ns" 57 }, 58 { 59 "name": "Naive/(tuple, 1, inner)/64", 60 "iterations": 6609753, 61 "real_time": 1.0470953377551155e+02, 62 "cpu_time": 1.0470407109009972e+02, 63 "time_unit": "ns" 64 }, 65 { 66 "name": "Naive/(tuple, 1, inner)/256", 67 "iterations": 1751513, 68 "real_time": 3.9532748029827735e+02, 69 "cpu_time": 3.9529119053070104e+02, 70 "time_unit": "ns" 71 }, 72 { 73 "name": "Indexed/(tuple, 1, inner)/2", 74 "iterations": 257875730, 75 "real_time": 2.7052694800181820e+00, 76 "cpu_time": 2.7046212026234508e+00, 77 "time_unit": "ns" 78 }, 79 { 80 "name": "Indexed/(tuple, 1, inner)/4", 81 "iterations": 158638840, 82 "real_time": 4.4245859526037705e+00, 83 "cpu_time": 4.4229814401063443e+00, 84 "time_unit": "ns" 85 }, 86 { 87 "name": "Indexed/(tuple, 1, inner)/16", 88 "iterations": 34057734, 89 "real_time": 2.0140500539427315e+01, 90 "cpu_time": 2.0132456610295907e+01, 91 "time_unit": "ns" 92 }, 93 { 94 "name": "Indexed/(tuple, 1, inner)/64", 95 "iterations": 6310477, 96 "real_time": 1.1157260140579641e+02, 97 "cpu_time": 1.1153754747858203e+02, 98 "time_unit": "ns" 99 }, 100 { 101 "name": "Indexed/(tuple, 1, inner)/256", 102 "iterations": 1351151, 103 "real_time": 5.1810916544417455e+02, 104 "cpu_time": 5.1787196471748859e+02, 105 "time_unit": "ns" 106 }, 107 { 108 "name": "Naive/(vector, 1, inner)/2", 109 "iterations": 131255622, 110 "real_time": 4.7881068210572124e+00, 111 "cpu_time": 4.7875653966273646e+00, 112 "time_unit": "ns" 113 }, 114 { 115 "name": "Naive/(vector, 1, inner)/4", 116 "iterations": 77087015, 117 "real_time": 9.4653836706091905e+00, 118 "cpu_time": 9.4610575724069754e+00, 119 "time_unit": "ns" 120 }, 121 { 122 "name": "Naive/(vector, 1, inner)/16", 123 "iterations": 19668295, 124 "real_time": 3.3413869427824523e+01, 125 "cpu_time": 3.3412764858367233e+01, 126 "time_unit": "ns" 127 }, 128 { 129 "name": "Naive/(vector, 1, inner)/64", 130 "iterations": 4945372, 131 "real_time": 1.4664591015633584e+02, 132 "cpu_time": 1.4658447210846816e+02, 133 "time_unit": "ns" 134 }, 135 { 136 "name": "Naive/(vector, 1, inner)/256", 137 "iterations": 1217207, 138 "real_time": 5.5767214697086843e+02, 139 "cpu_time": 5.5744531620340626e+02, 140 "time_unit": "ns" 141 }, 142 { 143 "name": "Indexed/(vector, 1, inner)/2", 144 "iterations": 81441944, 145 "real_time": 8.3857499521232413e+00, 146 "cpu_time": 8.3840116954968522e+00, 147 "time_unit": "ns" 148 }, 149 { 150 "name": "Indexed/(vector, 1, inner)/4", 151 "iterations": 63037624, 152 "real_time": 1.1193144795626990e+01, 153 "cpu_time": 1.1186970244944508e+01, 154 "time_unit": "ns" 155 }, 156 { 157 "name": "Indexed/(vector, 1, inner)/16", 158 "iterations": 24552017, 159 "real_time": 2.8861548523750898e+01, 160 "cpu_time": 2.8853131333364683e+01, 161 "time_unit": "ns" 162 }, 163 { 164 "name": "Indexed/(vector, 1, inner)/64", 165 "iterations": 4602537, 166 "real_time": 1.5045527064663489e+02, 167 "cpu_time": 1.5043488384775640e+02, 168 "time_unit": "ns" 169 }, 170 { 171 "name": "Indexed/(vector, 1, inner)/256", 172 "iterations": 1215923, 173 "real_time": 5.5660174123074376e+02, 174 "cpu_time": 5.5653807190093573e+02, 175 "time_unit": "ns" 176 }, 177 { 178 "name": "Naive/(vector_of_variant, 1, inner)/2", 179 "iterations": 69285423, 180 "real_time": 9.3240263829505370e+00, 181 "cpu_time": 9.3235503086990885e+00, 182 "time_unit": "ns" 183 }, 184 { 185 "name": "Naive/(vector_of_variant, 1, inner)/4", 186 "iterations": 37840489, 187 "real_time": 1.8756742625701495e+01, 188 "cpu_time": 1.8752293132364120e+01, 189 "time_unit": "ns" 190 }, 191 { 192 "name": "Naive/(vector_of_variant, 1, inner)/16", 193 "iterations": 9131461, 194 "real_time": 7.3190741657208235e+01, 195 "cpu_time": 7.3187546658743685e+01, 196 "time_unit": "ns" 197 }, 198 { 199 "name": "Naive/(vector_of_variant, 1, inner)/64", 200 "iterations": 2310857, 201 "real_time": 3.0190301217256041e+02, 202 "cpu_time": 3.0187253300399050e+02, 203 "time_unit": "ns" 204 }, 205 { 206 "name": "Naive/(vector_of_variant, 1, inner)/256", 207 "iterations": 591166, 208 "real_time": 1.1632894161693268e+03, 209 "cpu_time": 1.1632501378631366e+03, 210 "time_unit": "ns" 211 }, 212 { 213 "name": "Indexed/(vector_of_variant, 1, inner)/2", 214 "iterations": 92192765, 215 "real_time": 7.3654489047653451e+00, 216 "cpu_time": 7.3650777802357892e+00, 217 "time_unit": "ns" 218 }, 219 { 220 "name": "Indexed/(vector_of_variant, 1, inner)/4", 221 "iterations": 73084019, 222 "real_time": 9.4376963587645992e+00, 223 "cpu_time": 9.4373806809940284e+00, 224 "time_unit": "ns" 225 }, 226 { 227 "name": "Indexed/(vector_of_variant, 1, inner)/16", 228 "iterations": 26473700, 229 "real_time": 2.6664344575716040e+01, 230 "cpu_time": 2.6661095389008782e+01, 231 "time_unit": "ns" 232 }, 233 { 234 "name": "Indexed/(vector_of_variant, 1, inner)/64", 235 "iterations": 4571385, 236 "real_time": 1.5056884992138143e+02, 237 "cpu_time": 1.5055476141256980e+02, 238 "time_unit": "ns" 239 }, 240 { 241 "name": "Indexed/(vector_of_variant, 1, inner)/256", 242 "iterations": 1217571, 243 "real_time": 5.5584271718022501e+02, 244 "cpu_time": 5.5581865123265800e+02, 245 "time_unit": "ns" 246 }, 247 { 248 "name": "Naive/(tuple, 2, inner)/2", 249 "iterations": 49462513, 250 "real_time": 1.4079908637056153e+01, 251 "cpu_time": 1.4079583926518207e+01, 252 "time_unit": "ns" 253 }, 254 { 255 "name": "Naive/(tuple, 2, inner)/4", 256 "iterations": 11875006, 257 "real_time": 5.5912055623566594e+01, 258 "cpu_time": 5.5911381013196973e+01, 259 "time_unit": "ns" 260 }, 261 { 262 "name": "Naive/(tuple, 2, inner)/16", 263 "iterations": 751019, 264 "real_time": 9.1227254969594492e+02, 265 "cpu_time": 9.1223847998519318e+02, 266 "time_unit": "ns" 267 }, 268 { 269 "name": "Naive/(tuple, 2, inner)/64", 270 "iterations": 47055, 271 "real_time": 1.5028270555663295e+04, 272 "cpu_time": 1.5024706662416380e+04, 273 "time_unit": "ns" 274 }, 275 { 276 "name": "Naive/(tuple, 2, inner)/256", 277 "iterations": 2799, 278 "real_time": 2.4269341693392285e+05, 279 "cpu_time": 2.4266524508753093e+05, 280 "time_unit": "ns" 281 }, 282 { 283 "name": "Indexed/(tuple, 2, inner)/2", 284 "iterations": 77370124, 285 "real_time": 8.6837826057658063e+00, 286 "cpu_time": 8.6834535511407491e+00, 287 "time_unit": "ns" 288 }, 289 { 290 "name": "Indexed/(tuple, 2, inner)/4", 291 "iterations": 25078764, 292 "real_time": 2.7915058493342677e+01, 293 "cpu_time": 2.7913483216318031e+01, 294 "time_unit": "ns" 295 }, 296 { 297 "name": "Indexed/(tuple, 2, inner)/16", 298 "iterations": 1630537, 299 "real_time": 4.2734812089440675e+02, 300 "cpu_time": 4.2732770492175462e+02, 301 "time_unit": "ns" 302 }, 303 { 304 "name": "Indexed/(tuple, 2, inner)/64", 305 "iterations": 76847, 306 "real_time": 9.0104866032538503e+03, 307 "cpu_time": 9.0101389514229486e+03, 308 "time_unit": "ns" 309 }, 310 { 311 "name": "Indexed/(tuple, 2, inner)/256", 312 "iterations": 5060, 313 "real_time": 1.3753572826036997e+05, 314 "cpu_time": 1.3752358952569167e+05, 315 "time_unit": "ns" 316 }, 317 { 318 "name": "Naive/(vector, 2, inner)/2", 319 "iterations": 38162873, 320 "real_time": 1.9294241631210902e+01, 321 "cpu_time": 1.9292749185838318e+01, 322 "time_unit": "ns" 323 }, 324 { 325 "name": "Naive/(vector, 2, inner)/4", 326 "iterations": 10112390, 327 "real_time": 6.9086567369670036e+01, 328 "cpu_time": 6.9083721949015214e+01, 329 "time_unit": "ns" 330 }, 331 { 332 "name": "Naive/(vector, 2, inner)/16", 333 "iterations": 680760, 334 "real_time": 1.0135387478716416e+03, 335 "cpu_time": 1.0134921235090197e+03, 336 "time_unit": "ns" 337 }, 338 { 339 "name": "Naive/(vector, 2, inner)/64", 340 "iterations": 42671, 341 "real_time": 1.6325137072055433e+04, 342 "cpu_time": 1.6324346910079437e+04, 343 "time_unit": "ns" 344 }, 345 { 346 "name": "Naive/(vector, 2, inner)/256", 347 "iterations": 2569, 348 "real_time": 2.7181347722760245e+05, 349 "cpu_time": 2.7179566407162294e+05, 350 "time_unit": "ns" 351 }, 352 { 353 "name": "Indexed/(vector, 2, inner)/2", 354 "iterations": 41678346, 355 "real_time": 1.6726858498559142e+01, 356 "cpu_time": 1.6724971091703008e+01, 357 "time_unit": "ns" 358 }, 359 { 360 "name": "Indexed/(vector, 2, inner)/4", 361 "iterations": 15728070, 362 "real_time": 4.4268851740772050e+01, 363 "cpu_time": 4.4267395681733163e+01, 364 "time_unit": "ns" 365 }, 366 { 367 "name": "Indexed/(vector, 2, inner)/16", 368 "iterations": 1531865, 369 "real_time": 4.5714002343739037e+02, 370 "cpu_time": 4.5710810547926553e+02, 371 "time_unit": "ns" 372 }, 373 { 374 "name": "Indexed/(vector, 2, inner)/64", 375 "iterations": 73053, 376 "real_time": 9.2542523236943744e+03, 377 "cpu_time": 9.2536710059819998e+03, 378 "time_unit": "ns" 379 }, 380 { 381 "name": "Indexed/(vector, 2, inner)/256", 382 "iterations": 4994, 383 "real_time": 1.3891980016153606e+05, 384 "cpu_time": 1.3891205326391666e+05, 385 "time_unit": "ns" 386 }, 387 { 388 "name": "Naive/(vector_of_variant, 2, inner)/2", 389 "iterations": 20104745, 390 "real_time": 3.4506676309610846e+01, 391 "cpu_time": 3.4504440369673965e+01, 392 "time_unit": "ns" 393 }, 394 { 395 "name": "Naive/(vector_of_variant, 2, inner)/4", 396 "iterations": 5334056, 397 "real_time": 1.2953831943251666e+02, 398 "cpu_time": 1.2953181856358586e+02, 399 "time_unit": "ns" 400 }, 401 { 402 "name": "Naive/(vector_of_variant, 2, inner)/16", 403 "iterations": 337504, 404 "real_time": 1.9932967253765871e+03, 405 "cpu_time": 1.9932290906181800e+03, 406 "time_unit": "ns" 407 }, 408 { 409 "name": "Naive/(vector_of_variant, 2, inner)/64", 410 "iterations": 21759, 411 "real_time": 3.2318591479248385e+04, 412 "cpu_time": 3.2316641251895864e+04, 413 "time_unit": "ns" 414 }, 415 { 416 "name": "Naive/(vector_of_variant, 2, inner)/256", 417 "iterations": 1271, 418 "real_time": 5.2014565617777588e+05, 419 "cpu_time": 5.2012665696302510e+05, 420 "time_unit": "ns" 421 }, 422 { 423 "name": "Indexed/(vector_of_variant, 2, inner)/2", 424 "iterations": 42461766, 425 "real_time": 1.6106938510307256e+01, 426 "cpu_time": 1.6106278834469553e+01, 427 "time_unit": "ns" 428 }, 429 { 430 "name": "Indexed/(vector_of_variant, 2, inner)/4", 431 "iterations": 21033073, 432 "real_time": 3.3283205882599404e+01, 433 "cpu_time": 3.3281275066177784e+01, 434 "time_unit": "ns" 435 }, 436 { 437 "name": "Indexed/(vector_of_variant, 2, inner)/16", 438 "iterations": 1881121, 439 "real_time": 3.7411198375871635e+02, 440 "cpu_time": 3.7408103465965212e+02, 441 "time_unit": "ns" 442 }, 443 { 444 "name": "Indexed/(vector_of_variant, 2, inner)/64", 445 "iterations": 70381, 446 "real_time": 9.9003461587726615e+03, 447 "cpu_time": 9.8997365766329312e+03, 448 "time_unit": "ns" 449 }, 450 { 451 "name": "Indexed/(vector_of_variant, 2, inner)/256", 452 "iterations": 4584, 453 "real_time": 1.5204522185940639e+05, 454 "cpu_time": 1.5204021444153567e+05, 455 "time_unit": "ns" 456 }, 457 { 458 "name": "Naive/(tuple, 3, inner)/2", 459 "iterations": 16067499, 460 "real_time": 4.3624799292245591e+01, 461 "cpu_time": 4.3622996584596294e+01, 462 "time_unit": "ns" 463 }, 464 { 465 "name": "Naive/(tuple, 3, inner)/4", 466 "iterations": 1768238, 467 "real_time": 3.9595480755533742e+02, 468 "cpu_time": 3.9593423792498453e+02, 469 "time_unit": "ns" 470 }, 471 { 472 "name": "Naive/(tuple, 3, inner)/16", 473 "iterations": 25259, 474 "real_time": 2.6991563403072916e+04, 475 "cpu_time": 2.6990050833366444e+04, 476 "time_unit": "ns" 477 }, 478 { 479 "name": "Naive/(tuple, 3, inner)/64", 480 "iterations": 204, 481 "real_time": 3.5919159803883051e+06, 482 "cpu_time": 3.5914769558823537e+06, 483 "time_unit": "ns" 484 }, 485 { 486 "name": "Naive/(tuple, 3, inner)/256", 487 "iterations": 1, 488 "real_time": 1.0654720300008193e+09, 489 "cpu_time": 1.0653928119999989e+09, 490 "time_unit": "ns" 491 }, 492 { 493 "name": "Indexed/(tuple, 3, inner)/2", 494 "iterations": 26814584, 495 "real_time": 2.6028973785268370e+01, 496 "cpu_time": 2.6027282168539248e+01, 497 "time_unit": "ns" 498 }, 499 { 500 "name": "Indexed/(tuple, 3, inner)/4", 501 "iterations": 4883130, 502 "real_time": 1.4305504829999745e+02, 503 "cpu_time": 1.4304884060018975e+02, 504 "time_unit": "ns" 505 }, 506 { 507 "name": "Indexed/(tuple, 3, inner)/16", 508 "iterations": 94913, 509 "real_time": 7.0721960006083600e+03, 510 "cpu_time": 7.0717863411756216e+03, 511 "time_unit": "ns" 512 }, 513 { 514 "name": "Indexed/(tuple, 3, inner)/64", 515 "iterations": 1179, 516 "real_time": 5.8209385241983552e+05, 517 "cpu_time": 5.8206476929601643e+05, 518 "time_unit": "ns" 519 }, 520 { 521 "name": "Indexed/(tuple, 3, inner)/256", 522 "iterations": 20, 523 "real_time": 3.5935903449717447e+07, 524 "cpu_time": 3.5934060049999774e+07, 525 "time_unit": "ns" 526 }, 527 { 528 "name": "Naive/(vector, 3, inner)/2", 529 "iterations": 13678916, 530 "real_time": 4.8195136150091649e+01, 531 "cpu_time": 4.8192346454939027e+01, 532 "time_unit": "ns" 533 }, 534 { 535 "name": "Naive/(vector, 3, inner)/4", 536 "iterations": 1937463, 537 "real_time": 3.5476346644732018e+02, 538 "cpu_time": 3.5474442660324530e+02, 539 "time_unit": "ns" 540 }, 541 { 542 "name": "Naive/(vector, 3, inner)/16", 543 "iterations": 31201, 544 "real_time": 2.2349923816471412e+04, 545 "cpu_time": 2.2348826864523620e+04, 546 "time_unit": "ns" 547 }, 548 { 549 "name": "Naive/(vector, 3, inner)/64", 550 "iterations": 355, 551 "real_time": 1.9842437154885617e+06, 552 "cpu_time": 1.9840622591549244e+06, 553 "time_unit": "ns" 554 }, 555 { 556 "name": "Naive/(vector, 3, inner)/256", 557 "iterations": 2, 558 "real_time": 4.6312754050086367e+08, 559 "cpu_time": 4.6309484399999690e+08, 560 "time_unit": "ns" 561 }, 562 { 563 "name": "Indexed/(vector, 3, inner)/2", 564 "iterations": 21016376, 565 "real_time": 3.3452103921514173e+01, 566 "cpu_time": 3.3450528435540441e+01, 567 "time_unit": "ns" 568 }, 569 { 570 "name": "Indexed/(vector, 3, inner)/4", 571 "iterations": 4537194, 572 "real_time": 1.5552969280062862e+02, 573 "cpu_time": 1.5551612428298361e+02, 574 "time_unit": "ns" 575 }, 576 { 577 "name": "Indexed/(vector, 3, inner)/16", 578 "iterations": 93733, 579 "real_time": 7.2719495481427412e+03, 580 "cpu_time": 7.2716927976272091e+03, 581 "time_unit": "ns" 582 }, 583 { 584 "name": "Indexed/(vector, 3, inner)/64", 585 "iterations": 1151, 586 "real_time": 5.9254785490932909e+05, 587 "cpu_time": 5.9250809470026579e+05, 588 "time_unit": "ns" 589 }, 590 { 591 "name": "Indexed/(vector, 3, inner)/256", 592 "iterations": 19, 593 "real_time": 3.5903861368608072e+07, 594 "cpu_time": 3.5902786000000060e+07, 595 "time_unit": "ns" 596 }, 597 { 598 "name": "Naive/(vector_of_variant, 3, inner)/2", 599 "iterations": 7489153, 600 "real_time": 9.1880777438608661e+01, 601 "cpu_time": 9.1875263063793767e+01, 602 "time_unit": "ns" 603 }, 604 { 605 "name": "Naive/(vector_of_variant, 3, inner)/4", 606 "iterations": 982358, 607 "real_time": 6.8480715075247087e+02, 608 "cpu_time": 6.8475983602720146e+02, 609 "time_unit": "ns" 610 }, 611 { 612 "name": "Naive/(vector_of_variant, 3, inner)/16", 613 "iterations": 15612, 614 "real_time": 4.4376148411612274e+04, 615 "cpu_time": 4.4373882205995513e+04, 616 "time_unit": "ns" 617 }, 618 { 619 "name": "Naive/(vector_of_variant, 3, inner)/64", 620 "iterations": 214, 621 "real_time": 3.2605690467220335e+06, 622 "cpu_time": 3.2604443130841018e+06, 623 "time_unit": "ns" 624 }, 625 { 626 "name": "Naive/(vector_of_variant, 3, inner)/256", 627 "iterations": 1, 628 "real_time": 6.7460591900453436e+08, 629 "cpu_time": 6.7452916799999225e+08, 630 "time_unit": "ns" 631 }, 632 { 633 "name": "Indexed/(vector_of_variant, 3, inner)/2", 634 "iterations": 22526633, 635 "real_time": 3.0708660633189826e+01, 636 "cpu_time": 3.0706014032367921e+01, 637 "time_unit": "ns" 638 }, 639 { 640 "name": "Indexed/(vector_of_variant, 3, inner)/4", 641 "iterations": 5472366, 642 "real_time": 1.2638860723142412e+02, 643 "cpu_time": 1.2638097579730733e+02, 644 "time_unit": "ns" 645 }, 646 { 647 "name": "Indexed/(vector_of_variant, 3, inner)/16", 648 "iterations": 113927, 649 "real_time": 5.9392282514248682e+03, 650 "cpu_time": 5.9388695743765775e+03, 651 "time_unit": "ns" 652 }, 653 { 654 "name": "Indexed/(vector_of_variant, 3, inner)/64", 655 "iterations": 1095, 656 "real_time": 6.3374649588981876e+05, 657 "cpu_time": 6.3370015890411206e+05, 658 "time_unit": "ns" 659 }, 660 { 661 "name": "Indexed/(vector_of_variant, 3, inner)/256", 662 "iterations": 18, 663 "real_time": 3.9354077277999349e+07, 664 "cpu_time": 3.9349510444443874e+07, 665 "time_unit": "ns" 666 } 667 ] 668} 669