Improve the performance of MatrixTransposeMatrix multiply. Compute A'B as rank-1 sums of outer products of the rows of A and B. This is more cache coherent. Benchmark Time CPU Time Old Time New CPU Old CPU New -------------------------------------------------------------------------------------------------------------------------------------- BM_MatrixMatrixMultiplyDynamic/2/2/2 +0.0031 +0.0033 27 27 27 27 BM_MatrixMatrixMultiplyDynamic/2/2/4 +0.0383 +0.0380 41 42 41 42 BM_MatrixMatrixMultiplyDynamic/2/2/6 +0.0001 +0.0019 58 58 57 58 BM_MatrixMatrixMultiplyDynamic/2/2/8 +0.0169 +0.0169 70 71 70 71 BM_MatrixMatrixMultiplyDynamic/2/2/10 +0.0162 +0.0161 83 85 83 85 BM_MatrixMatrixMultiplyDynamic/2/2/12 -0.0049 -0.0048 93 93 93 93 BM_MatrixMatrixMultiplyDynamic/2/2/15 +0.0131 +0.0129 114 115 114 115 BM_MatrixMatrixMultiplyDynamic/2/4/2 +0.0494 +0.0489 32 34 32 34 BM_MatrixMatrixMultiplyDynamic/2/4/4 +0.0121 +0.0121 51 52 51 52 BM_MatrixMatrixMultiplyDynamic/2/4/6 +0.0134 +0.0138 70 71 70 71 BM_MatrixMatrixMultiplyDynamic/2/4/8 +0.0006 +0.0005 90 90 90 90 BM_MatrixMatrixMultiplyDynamic/2/4/10 +0.0248 +0.0248 107 110 107 110 BM_MatrixMatrixMultiplyDynamic/2/4/12 -0.0239 -0.0234 125 122 125 122 BM_MatrixMatrixMultiplyDynamic/2/4/15 +0.0611 +0.0605 155 164 155 164 BM_MatrixMatrixMultiplyDynamic/2/6/2 -0.0017 -0.0017 39 39 39 39 BM_MatrixMatrixMultiplyDynamic/2/6/4 +0.0139 +0.0147 59 60 59 60 BM_MatrixMatrixMultiplyDynamic/2/6/6 -0.1062 -0.1003 89 80 89 80 BM_MatrixMatrixMultiplyDynamic/2/6/8 -0.0339 -0.0344 116 112 115 111 BM_MatrixMatrixMultiplyDynamic/2/6/10 +0.0568 +0.0455 142 150 141 148 BM_MatrixMatrixMultiplyDynamic/2/6/12 -0.0073 -0.0062 155 154 155 154 BM_MatrixMatrixMultiplyDynamic/2/6/15 +0.0219 +0.0215 187 191 187 191 BM_MatrixMatrixMultiplyDynamic/2/8/2 -0.0165 -0.0160 43 42 43 42 BM_MatrixMatrixMultiplyDynamic/2/8/4 -0.0247 -0.0245 71 69 70 69 BM_MatrixMatrixMultiplyDynamic/2/8/6 -0.0642 -0.0614 104 98 104 98 BM_MatrixMatrixMultiplyDynamic/2/8/8 -0.0607 -0.0599 133 125 133 125 BM_MatrixMatrixMultiplyDynamic/2/8/10 -0.0523 -0.0510 166 157 166 157 BM_MatrixMatrixMultiplyDynamic/2/8/12 -0.0381 -0.0376 189 182 189 182 BM_MatrixMatrixMultiplyDynamic/2/8/15 -0.0725 -0.0716 243 226 243 225 BM_MatrixMatrixMultiplyDynamic/2/10/2 -0.0421 -0.0416 50 48 50 48 BM_MatrixMatrixMultiplyDynamic/2/10/4 -0.0558 -0.0549 83 78 83 78 BM_MatrixMatrixMultiplyDynamic/2/10/6 -0.0527 -0.0518 115 109 115 109 BM_MatrixMatrixMultiplyDynamic/2/10/8 -0.0421 -0.0413 150 144 150 144 BM_MatrixMatrixMultiplyDynamic/2/10/10 -0.0606 -0.0601 202 190 202 190 BM_MatrixMatrixMultiplyDynamic/2/10/12 -0.0409 -0.0406 224 215 224 215 BM_MatrixMatrixMultiplyDynamic/2/10/15 -0.0308 -0.0302 277 268 277 268 BM_MatrixMatrixMultiplyDynamic/2/12/2 -0.0059 -0.0058 53 52 53 52 BM_MatrixMatrixMultiplyDynamic/2/12/4 +0.0019 +0.0023 87 87 87 87 BM_MatrixMatrixMultiplyDynamic/2/12/6 -0.0032 -0.0025 126 125 126 125 BM_MatrixMatrixMultiplyDynamic/2/12/8 -0.0039 -0.0038 159 158 159 158 BM_MatrixMatrixMultiplyDynamic/2/12/10 -0.0175 -0.0171 205 201 205 201 BM_MatrixMatrixMultiplyDynamic/2/12/12 -0.0643 -0.0633 295 276 294 276 BM_MatrixMatrixMultiplyDynamic/2/12/15 -0.0215 -0.0201 328 321 328 321 BM_MatrixMatrixMultiplyDynamic/2/15/2 +0.0092 +0.0103 58 58 58 58 BM_MatrixMatrixMultiplyDynamic/2/15/4 +0.0762 +0.0765 98 105 98 105 BM_MatrixMatrixMultiplyDynamic/2/15/6 -0.0155 -0.0172 138 136 138 136 BM_MatrixMatrixMultiplyDynamic/2/15/8 +0.0674 +0.0658 180 192 180 191 BM_MatrixMatrixMultiplyDynamic/2/15/10 +0.0254 +0.0255 236 242 236 242 BM_MatrixMatrixMultiplyDynamic/2/15/12 -0.0383 -0.0378 289 278 289 278 BM_MatrixMatrixMultiplyDynamic/2/15/15 -0.0313 -0.0308 407 394 406 394 BM_MatrixMatrixMultiplyDynamic/4/2/2 +0.0286 +0.0286 42 43 42 43 BM_MatrixMatrixMultiplyDynamic/4/2/4 -0.0455 -0.0439 71 68 71 68 BM_MatrixMatrixMultiplyDynamic/4/2/6 +0.0221 +0.0229 93 95 93 95 BM_MatrixMatrixMultiplyDynamic/4/2/8 -0.0226 -0.0225 120 118 120 118 BM_MatrixMatrixMultiplyDynamic/4/2/10 -0.1153 -0.1130 158 140 158 140 BM_MatrixMatrixMultiplyDynamic/4/2/12 -0.0145 -0.0143 164 162 164 162 BM_MatrixMatrixMultiplyDynamic/4/2/15 -0.0396 -0.0393 205 197 205 197 BM_MatrixMatrixMultiplyDynamic/4/4/2 -0.0696 -0.0682 57 53 57 53 BM_MatrixMatrixMultiplyDynamic/4/4/4 -0.0233 -0.0231 91 89 91 89 BM_MatrixMatrixMultiplyDynamic/4/4/6 -0.0711 -0.0702 130 121 130 121 BM_MatrixMatrixMultiplyDynamic/4/4/8 -0.1180 -0.1113 178 157 176 157 BM_MatrixMatrixMultiplyDynamic/4/4/10 -0.0301 -0.0282 194 188 194 188 BM_MatrixMatrixMultiplyDynamic/4/4/12 -0.1156 -0.1137 251 222 251 222 BM_MatrixMatrixMultiplyDynamic/4/4/15 -0.0182 -0.0179 307 302 307 301 BM_MatrixMatrixMultiplyDynamic/4/6/2 -0.0228 -0.0220 64 63 64 63 BM_MatrixMatrixMultiplyDynamic/4/6/4 +0.0048 +0.0045 106 107 106 107 BM_MatrixMatrixMultiplyDynamic/4/6/6 -0.0131 -0.0126 155 153 155 153 BM_MatrixMatrixMultiplyDynamic/4/6/8 -0.0526 -0.0502 211 200 210 200 BM_MatrixMatrixMultiplyDynamic/4/6/10 -0.0995 -0.0975 274 247 274 247 BM_MatrixMatrixMultiplyDynamic/4/6/12 -0.0436 -0.0430 297 284 297 284 BM_MatrixMatrixMultiplyDynamic/4/6/15 +0.0042 +0.0050 344 345 343 345 BM_MatrixMatrixMultiplyDynamic/4/8/2 -0.0283 -0.0279 74 72 74 72 BM_MatrixMatrixMultiplyDynamic/4/8/4 -0.0282 -0.0277 125 122 125 122 BM_MatrixMatrixMultiplyDynamic/4/8/6 -0.0756 -0.0693 185 171 184 171 BM_MatrixMatrixMultiplyDynamic/4/8/8 -0.0510 -0.0444 267 253 265 253 BM_MatrixMatrixMultiplyDynamic/4/8/10 -0.0512 -0.0460 301 285 299 285 BM_MatrixMatrixMultiplyDynamic/4/8/12 -0.0046 -0.0006 351 349 349 349 BM_MatrixMatrixMultiplyDynamic/4/8/15 -0.0795 -0.0785 452 416 451 416 BM_MatrixMatrixMultiplyDynamic/4/10/2 -0.0415 -0.0406 85 81 85 81 BM_MatrixMatrixMultiplyDynamic/4/10/4 -0.0118 -0.0118 143 141 143 141 BM_MatrixMatrixMultiplyDynamic/4/10/6 -0.0484 -0.0478 217 206 216 206 BM_MatrixMatrixMultiplyDynamic/4/10/8 -0.0373 -0.0372 280 269 280 269 BM_MatrixMatrixMultiplyDynamic/4/10/10 +0.0083 +0.0083 350 353 350 353 BM_MatrixMatrixMultiplyDynamic/4/10/12 -0.0364 -0.0365 436 420 436 420 BM_MatrixMatrixMultiplyDynamic/4/10/15 -0.0221 -0.0210 513 502 512 502 BM_MatrixMatrixMultiplyDynamic/4/12/2 -0.0569 -0.0565 94 89 94 89 BM_MatrixMatrixMultiplyDynamic/4/12/4 -0.0343 -0.0338 162 157 162 157 BM_MatrixMatrixMultiplyDynamic/4/12/6 +0.0197 +0.0198 227 232 227 231 BM_MatrixMatrixMultiplyDynamic/4/12/8 -0.0390 -0.0388 310 298 310 298 BM_MatrixMatrixMultiplyDynamic/4/12/10 -0.0088 -0.0085 389 386 389 386 BM_MatrixMatrixMultiplyDynamic/4/12/12 +0.0524 +0.0505 545 574 545 572 BM_MatrixMatrixMultiplyDynamic/4/12/15 +0.0801 +0.0764 597 645 597 642 BM_MatrixMatrixMultiplyDynamic/4/15/2 -0.0024 -0.0026 99 99 99 99 BM_MatrixMatrixMultiplyDynamic/4/15/4 -0.0289 -0.0270 187 181 186 181 BM_MatrixMatrixMultiplyDynamic/4/15/6 -0.0264 -0.0261 263 256 263 256 BM_MatrixMatrixMultiplyDynamic/4/15/8 -0.0344 -0.0334 349 337 348 337 BM_MatrixMatrixMultiplyDynamic/4/15/10 -0.0189 -0.0191 454 446 454 445 BM_MatrixMatrixMultiplyDynamic/4/15/12 -0.0483 -0.0470 524 499 523 498 BM_MatrixMatrixMultiplyDynamic/4/15/15 -0.1084 -0.1070 840 749 838 748 BM_MatrixMatrixMultiplyDynamic/6/2/2 -0.0574 -0.0561 59 56 59 56 BM_MatrixMatrixMultiplyDynamic/6/2/4 -0.0727 -0.0721 98 91 98 91 BM_MatrixMatrixMultiplyDynamic/6/2/6 -0.0292 -0.0283 133 129 133 129 BM_MatrixMatrixMultiplyDynamic/6/2/8 -0.0283 -0.0278 167 162 167 162 BM_MatrixMatrixMultiplyDynamic/6/2/10 -0.0482 -0.0476 216 206 216 206 BM_MatrixMatrixMultiplyDynamic/6/2/12 -0.0117 -0.0115 243 240 243 240 BM_MatrixMatrixMultiplyDynamic/6/2/15 -0.0234 -0.0225 299 292 299 292 BM_MatrixMatrixMultiplyDynamic/6/4/2 -0.0950 -0.0898 79 72 79 72 BM_MatrixMatrixMultiplyDynamic/6/4/4 -0.0300 -0.0298 130 127 130 127 BM_MatrixMatrixMultiplyDynamic/6/4/6 -0.0379 -0.0376 175 169 175 169 BM_MatrixMatrixMultiplyDynamic/6/4/8 -0.0340 -0.0319 236 228 236 228 BM_MatrixMatrixMultiplyDynamic/6/4/10 -0.0498 -0.0490 289 275 289 275 BM_MatrixMatrixMultiplyDynamic/6/4/12 +0.0134 +0.0134 325 330 325 330 BM_MatrixMatrixMultiplyDynamic/6/4/15 -0.0836 -0.0794 469 429 466 429 BM_MatrixMatrixMultiplyDynamic/6/6/2 -0.0614 -0.0563 91 86 91 86 BM_MatrixMatrixMultiplyDynamic/6/6/4 -0.0249 -0.0239 153 149 152 149 BM_MatrixMatrixMultiplyDynamic/6/6/6 -0.0442 -0.0438 235 224 234 224 BM_MatrixMatrixMultiplyDynamic/6/6/8 -0.0127 -0.0083 296 292 295 292 BM_MatrixMatrixMultiplyDynamic/6/6/10 +0.0305 +0.0302 360 371 360 371 BM_MatrixMatrixMultiplyDynamic/6/6/12 -0.0479 -0.0463 434 413 433 413 BM_MatrixMatrixMultiplyDynamic/6/6/15 -0.0774 -0.0742 542 500 540 500 BM_MatrixMatrixMultiplyDynamic/6/8/2 -0.0617 -0.0611 106 99 106 99 BM_MatrixMatrixMultiplyDynamic/6/8/4 -0.1153 -0.1147 202 179 202 179 BM_MatrixMatrixMultiplyDynamic/6/8/6 -0.0591 -0.0589 270 254 270 254 BM_MatrixMatrixMultiplyDynamic/6/8/8 -0.0677 -0.0671 381 355 381 355 BM_MatrixMatrixMultiplyDynamic/6/8/10 -0.0771 -0.0757 451 416 450 416 BM_MatrixMatrixMultiplyDynamic/6/8/12 -0.0520 -0.0519 522 495 522 495 BM_MatrixMatrixMultiplyDynamic/6/8/15 -0.0386 -0.0386 639 614 638 614 BM_MatrixMatrixMultiplyDynamic/6/10/2 -0.0764 -0.0756 121 111 120 111 BM_MatrixMatrixMultiplyDynamic/6/10/4 -0.0847 -0.0777 224 205 222 205 BM_MatrixMatrixMultiplyDynamic/6/10/6 -0.0762 -0.0748 320 295 319 295 BM_MatrixMatrixMultiplyDynamic/6/10/8 -0.0160 -0.0164 413 407 413 406 BM_MatrixMatrixMultiplyDynamic/6/10/10 +0.0438 +0.0429 526 549 525 548 BM_MatrixMatrixMultiplyDynamic/6/10/12 +0.0641 +0.0615 606 645 605 643 BM_MatrixMatrixMultiplyDynamic/6/10/15 +0.0983 +0.0965 741 814 740 812 BM_MatrixMatrixMultiplyDynamic/6/12/2 +0.0697 +0.0663 135 144 135 144 BM_MatrixMatrixMultiplyDynamic/6/12/4 -0.0230 -0.0240 251 245 250 244 BM_MatrixMatrixMultiplyDynamic/6/12/6 -0.0728 -0.0703 365 338 364 338 BM_MatrixMatrixMultiplyDynamic/6/12/8 -0.1444 -0.1402 514 440 511 440 BM_MatrixMatrixMultiplyDynamic/6/12/10 -0.1268 -0.1216 628 548 624 548 BM_MatrixMatrixMultiplyDynamic/6/12/12 -0.1323 -0.1250 883 766 875 766 BM_MatrixMatrixMultiplyDynamic/6/12/15 -0.1337 -0.1304 995 862 991 862 BM_MatrixMatrixMultiplyDynamic/6/15/2 -0.1163 -0.1140 158 140 158 140 BM_MatrixMatrixMultiplyDynamic/6/15/4 -0.0721 -0.0689 285 265 284 265 BM_MatrixMatrixMultiplyDynamic/6/15/6 -0.0597 -0.0582 414 389 413 389 BM_MatrixMatrixMultiplyDynamic/6/15/8 -0.1189 -0.1173 563 496 562 496 BM_MatrixMatrixMultiplyDynamic/6/15/10 -0.0754 -0.0737 749 693 747 692 BM_MatrixMatrixMultiplyDynamic/6/15/12 +0.0141 +0.0153 871 883 866 879 BM_MatrixMatrixMultiplyDynamic/6/15/15 -0.1184 -0.1152 1398 1233 1387 1228 BM_MatrixMatrixMultiplyDynamic/8/2/2 -0.0232 -0.0242 77 75 77 75 BM_MatrixMatrixMultiplyDynamic/8/2/4 +0.1114 +0.1085 120 133 119 132 BM_MatrixMatrixMultiplyDynamic/8/2/6 +0.0794 +0.0760 169 183 169 182 BM_MatrixMatrixMultiplyDynamic/8/2/8 +0.0833 +0.0780 221 239 221 238 BM_MatrixMatrixMultiplyDynamic/8/2/10 +0.0037 +0.0037 264 265 264 265 BM_MatrixMatrixMultiplyDynamic/8/2/12 +0.0114 +0.0115 301 304 301 304 BM_MatrixMatrixMultiplyDynamic/8/2/15 +0.0034 +0.0030 378 380 378 380 BM_MatrixMatrixMultiplyDynamic/8/4/2 +0.0197 +0.0198 90 91 90 91 BM_MatrixMatrixMultiplyDynamic/8/4/4 +0.0231 +0.0230 156 160 156 160 BM_MatrixMatrixMultiplyDynamic/8/4/6 +0.0233 +0.0235 225 230 225 230 BM_MatrixMatrixMultiplyDynamic/8/4/8 +0.0352 +0.0349 286 296 286 296 BM_MatrixMatrixMultiplyDynamic/8/4/10 +0.0569 +0.0551 362 382 362 382 BM_MatrixMatrixMultiplyDynamic/8/4/12 -0.0180 -0.0181 424 416 424 416 BM_MatrixMatrixMultiplyDynamic/8/4/15 -0.0807 -0.0763 627 576 623 576 BM_MatrixMatrixMultiplyDynamic/8/6/2 -0.0030 -0.0029 111 111 111 111 BM_MatrixMatrixMultiplyDynamic/8/6/4 +0.0053 +0.0051 198 199 198 199 BM_MatrixMatrixMultiplyDynamic/8/6/6 -0.1261 -0.1233 330 288 329 288 BM_MatrixMatrixMultiplyDynamic/8/6/8 -0.0760 -0.0755 398 368 398 368 BM_MatrixMatrixMultiplyDynamic/8/6/10 -0.0497 -0.0487 505 480 505 480 BM_MatrixMatrixMultiplyDynamic/8/6/12 +0.0090 +0.0091 529 534 529 534 BM_MatrixMatrixMultiplyDynamic/8/6/15 -0.0778 -0.0757 704 649 702 649 BM_MatrixMatrixMultiplyDynamic/8/8/2 -0.1332 -0.1305 150 130 149 130 BM_MatrixMatrixMultiplyDynamic/8/8/4 -0.0903 -0.0878 257 234 257 234 BM_MatrixMatrixMultiplyDynamic/8/8/6 -0.1177 -0.1165 380 335 379 335 BM_MatrixMatrixMultiplyDynamic/8/8/8 -0.0799 -0.0786 509 468 508 468 BM_MatrixMatrixMultiplyDynamic/8/8/10 -0.1098 -0.1057 604 538 601 537 BM_MatrixMatrixMultiplyDynamic/8/8/12 -0.0676 -0.0662 697 650 696 650 BM_MatrixMatrixMultiplyDynamic/8/8/15 -0.0707 -0.0696 856 796 855 796 BM_MatrixMatrixMultiplyDynamic/8/10/2 -0.0429 -0.0417 149 142 149 142 BM_MatrixMatrixMultiplyDynamic/8/10/4 -0.0652 -0.0640 286 267 286 267 BM_MatrixMatrixMultiplyDynamic/8/10/6 -0.0259 -0.0253 402 392 402 392 BM_MatrixMatrixMultiplyDynamic/8/10/8 -0.0131 -0.0129 526 520 526 519 BM_MatrixMatrixMultiplyDynamic/8/10/10 -0.0873 -0.0865 697 636 696 636 BM_MatrixMatrixMultiplyDynamic/8/10/12 -0.0130 -0.0127 799 788 798 788 BM_MatrixMatrixMultiplyDynamic/8/10/15 -0.0441 -0.0438 1018 973 1018 973 BM_MatrixMatrixMultiplyDynamic/8/12/2 -0.0384 -0.0379 172 166 172 165 BM_MatrixMatrixMultiplyDynamic/8/12/4 -0.0321 -0.0307 307 297 307 297 BM_MatrixMatrixMultiplyDynamic/8/12/6 -0.0394 -0.0380 458 440 458 440 BM_MatrixMatrixMultiplyDynamic/8/12/8 -0.0529 -0.0522 608 576 607 576 BM_MatrixMatrixMultiplyDynamic/8/12/10 -0.0566 -0.0560 747 705 747 705 BM_MatrixMatrixMultiplyDynamic/8/12/12 -0.0007 -0.0006 1024 1024 1024 1023 BM_MatrixMatrixMultiplyDynamic/8/12/15 -0.0422 -0.0420 1163 1114 1162 1113 BM_MatrixMatrixMultiplyDynamic/8/15/2 -0.0241 -0.0241 197 192 197 192 BM_MatrixMatrixMultiplyDynamic/8/15/4 -0.0515 -0.0514 352 334 352 333 BM_MatrixMatrixMultiplyDynamic/8/15/6 -0.0192 -0.0194 506 496 506 496 BM_MatrixMatrixMultiplyDynamic/8/15/8 -0.0338 -0.0334 674 651 674 651 BM_MatrixMatrixMultiplyDynamic/8/15/10 -0.0556 -0.0545 922 871 921 871 BM_MatrixMatrixMultiplyDynamic/8/15/12 -0.0473 -0.0462 1052 1002 1050 1001 BM_MatrixMatrixMultiplyDynamic/8/15/15 -0.0522 -0.0521 1484 1406 1483 1406 BM_MatrixTransposeMatrixMultiplyDynamic/2/2/2 -0.1216 -0.1203 31 27 31 27 BM_MatrixTransposeMatrixMultiplyDynamic/2/2/4 -0.3827 -0.3818 49 30 49 30 BM_MatrixTransposeMatrixMultiplyDynamic/2/2/6 -0.3901 -0.3888 67 41 67 41 BM_MatrixTransposeMatrixMultiplyDynamic/2/2/8 -0.5469 -0.5458 86 39 86 39 BM_MatrixTransposeMatrixMultiplyDynamic/2/4/2 -0.2362 -0.2365 47 36 47 36 BM_MatrixTransposeMatrixMultiplyDynamic/2/4/4 -0.4470 -0.4469 77 43 77 43 BM_MatrixTransposeMatrixMultiplyDynamic/2/4/6 -0.4545 -0.4546 111 61 111 61 BM_MatrixTransposeMatrixMultiplyDynamic/2/4/8 -0.6093 -0.6093 142 56 142 56 BM_MatrixTransposeMatrixMultiplyDynamic/2/5/2 -0.2345 -0.2348 54 41 54 41 BM_MatrixTransposeMatrixMultiplyDynamic/2/5/4 -0.5111 -0.5107 99 48 99 48 BM_MatrixTransposeMatrixMultiplyDynamic/2/5/6 -0.4944 -0.4946 136 69 136 69 BM_MatrixTransposeMatrixMultiplyDynamic/2/5/8 -0.6354 -0.6354 171 62 171 62 BM_MatrixTransposeMatrixMultiplyDynamic/2/8/2 -0.3370 -0.3369 82 55 82 55 BM_MatrixTransposeMatrixMultiplyDynamic/2/8/4 -0.5062 -0.5064 139 69 139 69 BM_MatrixTransposeMatrixMultiplyDynamic/2/8/6 -0.5422 -0.5421 208 95 208 95 BM_MatrixTransposeMatrixMultiplyDynamic/2/8/8 -0.6903 -0.6896 294 91 294 91 BM_MatrixTransposeMatrixMultiplyDynamic/2/10/2 -0.1791 -0.1811 99 82 99 81 BM_MatrixTransposeMatrixMultiplyDynamic/2/10/4 -0.5062 -0.5061 177 88 177 88 BM_MatrixTransposeMatrixMultiplyDynamic/2/10/6 -0.5110 -0.5110 256 125 256 125 BM_MatrixTransposeMatrixMultiplyDynamic/2/10/8 -0.6632 -0.6632 334 112 333 112 BM_MatrixTransposeMatrixMultiplyDynamic/2/12/2 -0.3272 -0.3269 120 81 120 81 BM_MatrixTransposeMatrixMultiplyDynamic/2/12/4 -0.5019 -0.5019 212 105 212 105 BM_MatrixTransposeMatrixMultiplyDynamic/2/12/6 -0.5365 -0.5365 303 140 303 140 BM_MatrixTransposeMatrixMultiplyDynamic/2/12/8 -0.6856 -0.6856 398 125 398 125 BM_MatrixTransposeMatrixMultiplyDynamic/2/15/2 -0.2425 -0.2425 143 109 143 109 BM_MatrixTransposeMatrixMultiplyDynamic/2/15/4 -0.5891 -0.5871 298 122 296 122 BM_MatrixTransposeMatrixMultiplyDynamic/2/15/6 -0.5790 -0.5782 414 174 413 174 BM_MatrixTransposeMatrixMultiplyDynamic/2/15/8 -0.7173 -0.7173 509 144 509 144 BM_MatrixTransposeMatrixMultiplyDynamic/4/2/2 +0.0482 +0.0489 37 39 37 39 BM_MatrixTransposeMatrixMultiplyDynamic/4/2/4 -0.2428 -0.2433 60 45 60 45 BM_MatrixTransposeMatrixMultiplyDynamic/4/2/6 -0.2921 -0.2917 84 59 84 59 BM_MatrixTransposeMatrixMultiplyDynamic/4/2/8 -0.4632 -0.4630 105 56 105 56 BM_MatrixTransposeMatrixMultiplyDynamic/4/4/2 -0.0305 -0.0301 60 58 60 58 BM_MatrixTransposeMatrixMultiplyDynamic/4/4/4 -0.3008 -0.3007 101 70 101 70 BM_MatrixTransposeMatrixMultiplyDynamic/4/4/6 -0.3708 -0.3700 149 94 149 94 BM_MatrixTransposeMatrixMultiplyDynamic/4/4/8 -0.5160 -0.5159 190 92 189 92 BM_MatrixTransposeMatrixMultiplyDynamic/4/5/2 -0.0187 -0.0185 71 70 71 70 BM_MatrixTransposeMatrixMultiplyDynamic/4/5/4 -0.3064 -0.3054 130 90 130 90 BM_MatrixTransposeMatrixMultiplyDynamic/4/5/6 -0.3762 -0.3753 184 115 184 115 BM_MatrixTransposeMatrixMultiplyDynamic/4/5/8 -0.5845 -0.5838 240 100 240 100 BM_MatrixTransposeMatrixMultiplyDynamic/4/8/2 +0.0517 +0.0521 109 115 109 115 BM_MatrixTransposeMatrixMultiplyDynamic/4/8/4 -0.2895 -0.2889 194 138 194 138 BM_MatrixTransposeMatrixMultiplyDynamic/4/8/6 -0.3138 -0.3136 279 191 279 191 BM_MatrixTransposeMatrixMultiplyDynamic/4/8/8 -0.5429 -0.5421 381 174 380 174 BM_MatrixTransposeMatrixMultiplyDynamic/4/10/2 +0.0612 +0.0620 135 143 135 143 BM_MatrixTransposeMatrixMultiplyDynamic/4/10/4 -0.3269 -0.3263 259 174 258 174 BM_MatrixTransposeMatrixMultiplyDynamic/4/10/6 -0.2955 -0.2961 343 242 343 241 BM_MatrixTransposeMatrixMultiplyDynamic/4/10/8 -0.5484 -0.5475 466 210 465 210 BM_MatrixTransposeMatrixMultiplyDynamic/4/12/2 +0.1234 +0.1239 157 177 157 177 BM_MatrixTransposeMatrixMultiplyDynamic/4/12/4 -0.3002 -0.2997 291 204 291 204 BM_MatrixTransposeMatrixMultiplyDynamic/4/12/6 -0.3419 -0.3415 415 273 415 273 BM_MatrixTransposeMatrixMultiplyDynamic/4/12/8 -0.5604 -0.5600 545 239 544 239 BM_MatrixTransposeMatrixMultiplyDynamic/4/15/2 +0.1730 +0.1712 185 217 185 216 BM_MatrixTransposeMatrixMultiplyDynamic/4/15/4 -0.3099 -0.3097 346 239 346 239 BM_MatrixTransposeMatrixMultiplyDynamic/4/15/6 -0.3743 -0.3741 521 326 521 326 BM_MatrixTransposeMatrixMultiplyDynamic/4/15/8 -0.5411 -0.5409 654 300 654 300 BM_MatrixTransposeMatrixMultiplyDynamic/6/2/2 +0.2546 +0.2547 41 51 41 51 BM_MatrixTransposeMatrixMultiplyDynamic/6/2/4 -0.0940 -0.0942 66 60 66 60 BM_MatrixTransposeMatrixMultiplyDynamic/6/2/6 -0.1584 -0.1585 95 80 95 80 BM_MatrixTransposeMatrixMultiplyDynamic/6/2/8 -0.4333 -0.4329 130 74 130 74 BM_MatrixTransposeMatrixMultiplyDynamic/6/4/2 +0.1951 +0.1952 69 82 69 82 BM_MatrixTransposeMatrixMultiplyDynamic/6/4/4 -0.2034 -0.2034 123 98 123 98 BM_MatrixTransposeMatrixMultiplyDynamic/6/4/6 -0.1998 -0.1995 178 142 178 142 BM_MatrixTransposeMatrixMultiplyDynamic/6/4/8 -0.4348 -0.4347 233 131 233 131 BM_MatrixTransposeMatrixMultiplyDynamic/6/5/2 +0.5517 +0.5521 82 128 82 128 BM_MatrixTransposeMatrixMultiplyDynamic/6/5/4 -0.1427 -0.1427 145 124 145 124 BM_MatrixTransposeMatrixMultiplyDynamic/6/5/6 -0.1846 -0.1846 220 179 220 179 BM_MatrixTransposeMatrixMultiplyDynamic/6/5/8 -0.4871 -0.4873 290 149 290 148 BM_MatrixTransposeMatrixMultiplyDynamic/6/8/2 +0.3469 +0.3473 131 176 131 176 BM_MatrixTransposeMatrixMultiplyDynamic/6/8/4 -0.1013 -0.1018 248 223 248 222 BM_MatrixTransposeMatrixMultiplyDynamic/6/8/6 -0.1652 -0.1670 354 295 353 294 BM_MatrixTransposeMatrixMultiplyDynamic/6/8/8 -0.4302 -0.4299 447 255 447 255 BM_MatrixTransposeMatrixMultiplyDynamic/6/10/2 +0.4005 +0.4001 157 219 157 219 BM_MatrixTransposeMatrixMultiplyDynamic/6/10/4 -0.0439 -0.0441 295 282 294 281 BM_MatrixTransposeMatrixMultiplyDynamic/6/10/6 -0.1031 -0.1074 420 377 420 375 BM_MatrixTransposeMatrixMultiplyDynamic/6/10/8 -0.3655 -0.3679 556 353 555 351 BM_MatrixTransposeMatrixMultiplyDynamic/6/12/2 +0.5654 +0.5604 183 287 183 286 BM_MatrixTransposeMatrixMultiplyDynamic/6/12/4 -0.1118 -0.1116 353 314 353 314 BM_MatrixTransposeMatrixMultiplyDynamic/6/12/6 -0.2045 -0.2053 517 411 516 410 BM_MatrixTransposeMatrixMultiplyDynamic/6/12/8 -0.4662 -0.4660 657 350 656 350 BM_MatrixTransposeMatrixMultiplyDynamic/6/15/2 +0.3582 +0.3588 242 328 241 328 BM_MatrixTransposeMatrixMultiplyDynamic/6/15/4 -0.1403 -0.1407 428 368 428 367 BM_MatrixTransposeMatrixMultiplyDynamic/6/15/6 -0.2424 -0.2421 632 479 632 479 BM_MatrixTransposeMatrixMultiplyDynamic/6/15/8 -0.5094 -0.5092 835 410 834 409 BM_MatrixTransposeMatrixMultiplyDynamic/8/2/2 +0.3930 +0.3925 47 66 47 66 BM_MatrixTransposeMatrixMultiplyDynamic/8/2/4 +0.0226 +0.0215 78 80 78 80 BM_MatrixTransposeMatrixMultiplyDynamic/8/2/6 -0.0428 -0.0427 105 100 105 100 BM_MatrixTransposeMatrixMultiplyDynamic/8/2/8 -0.3418 -0.3437 141 93 141 92 BM_MatrixTransposeMatrixMultiplyDynamic/8/4/2 +0.3927 +0.3924 85 118 85 118 BM_MatrixTransposeMatrixMultiplyDynamic/8/4/4 -0.0040 -0.0039 137 136 136 136 BM_MatrixTransposeMatrixMultiplyDynamic/8/4/6 -0.0342 -0.0339 204 197 204 197 BM_MatrixTransposeMatrixMultiplyDynamic/8/4/8 -0.3575 -0.3577 267 171 267 171 BM_MatrixTransposeMatrixMultiplyDynamic/8/5/2 +0.7014 +0.7033 99 168 99 168 BM_MatrixTransposeMatrixMultiplyDynamic/8/5/4 +0.0952 +0.0952 163 179 163 179 BM_MatrixTransposeMatrixMultiplyDynamic/8/5/6 -0.1164 -0.1163 246 218 246 218 BM_MatrixTransposeMatrixMultiplyDynamic/8/5/8 -0.3550 -0.3565 322 208 322 207 BM_MatrixTransposeMatrixMultiplyDynamic/8/8/2 +0.7074 +0.7072 140 239 140 239 BM_MatrixTransposeMatrixMultiplyDynamic/8/8/4 +0.1072 +0.1075 276 306 276 306 BM_MatrixTransposeMatrixMultiplyDynamic/8/8/6 -0.0771 -0.0768 398 368 398 367 BM_MatrixTransposeMatrixMultiplyDynamic/8/8/8 -0.3614 -0.3612 524 335 524 335 BM_MatrixTransposeMatrixMultiplyDynamic/8/10/2 +0.6979 +0.7004 184 313 184 312 BM_MatrixTransposeMatrixMultiplyDynamic/8/10/4 +0.0967 +0.0955 326 357 325 356 BM_MatrixTransposeMatrixMultiplyDynamic/8/10/6 -0.0248 -0.0239 486 474 485 474 BM_MatrixTransposeMatrixMultiplyDynamic/8/10/8 -0.3432 -0.3437 603 396 603 396 BM_MatrixTransposeMatrixMultiplyDynamic/8/12/2 +0.5977 +0.5985 210 335 210 335 BM_MatrixTransposeMatrixMultiplyDynamic/8/12/4 -0.0530 -0.0484 405 384 403 384 BM_MatrixTransposeMatrixMultiplyDynamic/8/12/6 -0.0557 -0.0561 574 542 574 541 BM_MatrixTransposeMatrixMultiplyDynamic/8/12/8 -0.2835 -0.2849 730 523 730 522 BM_MatrixTransposeMatrixMultiplyDynamic/8/15/2 +0.7117 +0.7085 254 434 254 433 BM_MatrixTransposeMatrixMultiplyDynamic/8/15/4 +0.0630 +0.0602 458 487 458 486 BM_MatrixTransposeMatrixMultiplyDynamic/8/15/6 -0.0321 -0.0330 662 641 662 640 BM_MatrixTransposeMatrixMultiplyDynamic/8/15/8 -0.3974 -0.3978 911 549 910 548 Change-Id: I09d87c1885be86177b93c8fe0e6f89a75eb2f7a1
diff --git a/internal/ceres/benchmarks/macbook-pro-2014-small_blas_gemm_benchmark.json b/internal/ceres/benchmarks/macbook-pro-2014-small_blas_gemm_benchmark.json index 234c60b..dda3d1f 100644 --- a/internal/ceres/benchmarks/macbook-pro-2014-small_blas_gemm_benchmark.json +++ b/internal/ceres/benchmarks/macbook-pro-2014-small_blas_gemm_benchmark.json
@@ -1,6 +1,6 @@ { "context": { - "date": "2018-02-25 14:13:17", + "date": "2018-02-25 15:01:29", "num_cpus": 8, "mhz_per_cpu": 2200, "cpu_scaling_enabled": false, @@ -9,2158 +9,2158 @@ "benchmarks": [ { "name": "BM_MatrixMatrixMultiplyDynamic/2/2/2", - "iterations": 24328448, - "real_time": 2.7001229960104549e+01, - "cpu_time": 2.6995227973440805e+01, + "iterations": 24677431, + "real_time": 2.7085933013385780e+01, + "cpu_time": 2.7083694408871004e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/2/4", - "iterations": 16057108, - "real_time": 4.0568398555018589e+01, - "cpu_time": 4.0563904782853776e+01, + "iterations": 17313790, + "real_time": 4.2123262151658700e+01, + "cpu_time": 4.2103548674207090e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/2/6", - "iterations": 11412733, - "real_time": 5.7605783036145375e+01, - "cpu_time": 5.7495255518551055e+01, + "iterations": 12189601, + "real_time": 5.7610895552453258e+01, + "cpu_time": 5.7605495044505531e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/2/8", - "iterations": 10048953, - "real_time": 7.0132481659413315e+01, - "cpu_time": 7.0131385826961250e+01, + "iterations": 9997001, + "real_time": 7.1320817710789754e+01, + "cpu_time": 7.1316987964690568e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/2/10", - "iterations": 8834368, - "real_time": 8.3236611607074963e+01, - "cpu_time": 8.3227685330744748e+01, + "iterations": 8191542, + "real_time": 8.4588146774604070e+01, + "cpu_time": 8.4571500701577250e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/2/12", - "iterations": 7170956, - "real_time": 9.3025472478138965e+01, - "cpu_time": 9.3010890040323787e+01, + "iterations": 7566259, + "real_time": 9.2572298006312238e+01, + "cpu_time": 9.2567542295340360e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/2/15", - "iterations": 6378771, - "real_time": 1.1389117981274377e+02, - "cpu_time": 1.1388212556933007e+02, + "iterations": 6357568, + "real_time": 1.1537903991795532e+02, + "cpu_time": 1.1535417316810455e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/4/2", - "iterations": 21298088, - "real_time": 3.2089051371515666e+01, - "cpu_time": 3.2088514236583102e+01, + "iterations": 21475752, + "real_time": 3.3675625559755055e+01, + "cpu_time": 3.3656609556675889e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/4/4", - "iterations": 12707403, - "real_time": 5.0976902201043181e+01, - "cpu_time": 5.0969737876417348e+01, + "iterations": 13274420, + "real_time": 5.1594679393420982e+01, + "cpu_time": 5.1588468648724401e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/4/6", - "iterations": 10641209, - "real_time": 6.9944400492284501e+01, - "cpu_time": 6.9905872537603599e+01, + "iterations": 9605093, + "real_time": 7.0885081700170687e+01, + "cpu_time": 7.0873962386413197e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/4/8", - "iterations": 7948674, - "real_time": 9.0079080605468448e+01, - "cpu_time": 9.0070117355422994e+01, + "iterations": 7466985, + "real_time": 9.0132290486465095e+01, + "cpu_time": 9.0119639988562952e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/4/10", - "iterations": 6711860, - "real_time": 1.0686440435430542e+02, - "cpu_time": 1.0685160298337580e+02, + "iterations": 6675440, + "real_time": 1.0951429793686663e+02, + "cpu_time": 1.0950139616264984e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/4/12", - "iterations": 5140860, - "real_time": 1.2482391058066061e+02, - "cpu_time": 1.2475344592149942e+02, + "iterations": 5589938, + "real_time": 1.2183950879061895e+02, + "cpu_time": 1.2183319385653314e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/4/15", - "iterations": 4393618, - "real_time": 1.5500287622920868e+02, - "cpu_time": 1.5499731656234107e+02, + "iterations": 4445941, + "real_time": 1.6447273231733692e+02, + "cpu_time": 1.6437082723319963e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/6/2", - "iterations": 17464721, - "real_time": 3.8655264633759430e+01, - "cpu_time": 3.8637433715660272e+01, + "iterations": 18707274, + "real_time": 3.8588043617066567e+01, + "cpu_time": 3.8572749829825561e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/6/4", - "iterations": 11661225, - "real_time": 5.9347758743833964e+01, - "cpu_time": 5.9292141263031951e+01, + "iterations": 11873261, + "real_time": 6.0170908897671175e+01, + "cpu_time": 6.0165189664406405e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/6/6", - "iterations": 7064285, - "real_time": 8.9281205389705590e+01, - "cpu_time": 8.8694468017640972e+01, + "iterations": 8487318, + "real_time": 7.9800857586470187e+01, + "cpu_time": 7.9795643335149947e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/6/8", - "iterations": 5684079, - "real_time": 1.1550077136622613e+02, - "cpu_time": 1.1540972600838242e+02, + "iterations": 6330888, + "real_time": 1.1158600405366791e+02, + "cpu_time": 1.1143697377050408e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/6/10", - "iterations": 4573340, - "real_time": 1.4157735199919463e+02, - "cpu_time": 1.4134614964118160e+02, + "iterations": 4798464, + "real_time": 1.4961599421571245e+02, + "cpu_time": 1.4777061993171091e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/6/12", - "iterations": 4651379, - "real_time": 1.5479129457843374e+02, - "cpu_time": 1.5460318327102524e+02, + "iterations": 4405702, + "real_time": 1.5365689804478134e+02, + "cpu_time": 1.5364044140979138e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/6/15", - "iterations": 3650225, - "real_time": 1.8681554480995138e+02, - "cpu_time": 1.8676684313980613e+02, + "iterations": 3807742, + "real_time": 1.9090847490461707e+02, + "cpu_time": 1.9077369212514867e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/8/2", - "iterations": 16070047, - "real_time": 4.2871247793035224e+01, - "cpu_time": 4.2842811847407859e+01, + "iterations": 13733299, + "real_time": 4.2163746601385490e+01, + "cpu_time": 4.2157459762581418e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/8/4", - "iterations": 10059784, - "real_time": 7.0509401894463423e+01, - "cpu_time": 7.0497139898829090e+01, + "iterations": 10349824, + "real_time": 6.8771051949712316e+01, + "cpu_time": 6.8767739432090465e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/8/6", - "iterations": 6923632, - "real_time": 1.0444218150381410e+02, - "cpu_time": 1.0411298578549510e+02, + "iterations": 7424535, + "real_time": 9.7734263487931656e+01, + "cpu_time": 9.7718981727475324e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/8/8", - "iterations": 4736450, - "real_time": 1.3322418096960945e+02, - "cpu_time": 1.3310580709180900e+02, + "iterations": 5657480, + "real_time": 1.2513501400961198e+02, + "cpu_time": 1.2513398191420920e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/8/10", - "iterations": 4304937, - "real_time": 1.6618039660615622e+02, - "cpu_time": 1.6593134812425856e+02, + "iterations": 4598849, + "real_time": 1.5749403644676926e+02, + "cpu_time": 1.5746787946288418e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/8/12", - "iterations": 3792394, - "real_time": 1.8939868882129554e+02, - "cpu_time": 1.8928333923110293e+02, + "iterations": 3700493, + "real_time": 1.8217583630216973e+02, + "cpu_time": 1.8217005139585484e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/8/15", - "iterations": 2588777, - "real_time": 2.4316585980109178e+02, - "cpu_time": 2.4288302932234001e+02, + "iterations": 3050069, + "real_time": 2.2552621563738379e+02, + "cpu_time": 2.2548440707406982e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/10/2", - "iterations": 14542493, - "real_time": 5.0074018744594433e+01, - "cpu_time": 5.0041282467868683e+01, + "iterations": 14367197, + "real_time": 4.7963831704920736e+01, + "cpu_time": 4.7961965023518474e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/10/4", - "iterations": 8882122, - "real_time": 8.2647871982164148e+01, - "cpu_time": 8.2555722607727901e+01, + "iterations": 9173951, + "real_time": 7.8037131557616192e+01, + "cpu_time": 7.8023525523517932e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/10/6", - "iterations": 6087539, - "real_time": 1.1497152165442469e+02, - "cpu_time": 1.1483786797916237e+02, + "iterations": 6186752, + "real_time": 1.0890699125188048e+02, + "cpu_time": 1.0889316397360014e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/10/8", - "iterations": 4677237, - "real_time": 1.4993546295460612e+02, - "cpu_time": 1.4979142600642163e+02, + "iterations": 4953087, + "real_time": 1.4362644912289656e+02, + "cpu_time": 1.4360377679616784e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/10/10", - "iterations": 3251217, - "real_time": 2.0238793840240305e+02, - "cpu_time": 2.0218398218267248e+02, + "iterations": 3809565, + "real_time": 1.9012077020872925e+02, + "cpu_time": 1.9004033268890248e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/10/12", - "iterations": 3244150, - "real_time": 2.2428098669076957e+02, - "cpu_time": 2.2418599633185764e+02, + "iterations": 3322385, + "real_time": 2.1510168507720513e+02, + "cpu_time": 2.1508675243838334e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/10/15", - "iterations": 2566302, - "real_time": 2.7699508865178001e+02, - "cpu_time": 2.7672619980033585e+02, + "iterations": 2551430, + "real_time": 2.6846584385627790e+02, + "cpu_time": 2.6836989452973518e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/12/2", - "iterations": 13059945, - "real_time": 5.2616397765246866e+01, - "cpu_time": 5.2606883107088059e+01, + "iterations": 13221767, + "real_time": 5.2303975178801565e+01, + "cpu_time": 5.2301556970411227e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/12/4", - "iterations": 8355814, - "real_time": 8.6969701821594086e+01, - "cpu_time": 8.6938268372177774e+01, + "iterations": 8296788, + "real_time": 8.7138792509552545e+01, + "cpu_time": 8.7133960756861157e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/12/6", - "iterations": 5614688, - "real_time": 1.2588531437661624e+02, - "cpu_time": 1.2575284681891502e+02, + "iterations": 5579245, + "real_time": 1.2548351182285634e+02, + "cpu_time": 1.2543310071524098e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/12/8", - "iterations": 4512664, - "real_time": 1.5879665094661007e+02, - "cpu_time": 1.5876542104619116e+02, + "iterations": 4465368, + "real_time": 1.5817192537384898e+02, + "cpu_time": 1.5815672974769288e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/12/10", - "iterations": 3509722, - "real_time": 2.0492072419688077e+02, - "cpu_time": 2.0477604778953855e+02, + "iterations": 3441528, + "real_time": 2.0132962594972847e+02, + "cpu_time": 2.0126612365205108e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/12/12", - "iterations": 2619535, - "real_time": 2.9459154811815324e+02, - "cpu_time": 2.9425298764857138e+02, + "iterations": 2572707, + "real_time": 2.7565435436961877e+02, + "cpu_time": 2.7564040522298382e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/12/15", - "iterations": 2231353, - "real_time": 3.2831769783886540e+02, - "cpu_time": 3.2781948889305954e+02, + "iterations": 2186202, + "real_time": 3.2126785631127387e+02, + "cpu_time": 3.2122603492266688e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/15/2", - "iterations": 11583075, - "real_time": 5.7665364427586525e+01, - "cpu_time": 5.7596967989934157e+01, + "iterations": 12471938, + "real_time": 5.8196081470387284e+01, + "cpu_time": 5.8190876189409970e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/15/4", - "iterations": 7096441, - "real_time": 9.7818069636610474e+01, - "cpu_time": 9.7767035616866806e+01, + "iterations": 7433997, + "real_time": 1.0527320767711711e+02, + "cpu_time": 1.0524728487245970e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/15/6", - "iterations": 4908595, - "real_time": 1.3841150938491558e+02, - "cpu_time": 1.3835527274097797e+02, + "iterations": 5032713, + "real_time": 1.3626096780099186e+02, + "cpu_time": 1.3597973895988017e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/15/8", - "iterations": 4011760, - "real_time": 1.7971241873554109e+02, - "cpu_time": 1.7959648633018728e+02, + "iterations": 3611598, + "real_time": 1.9183056778519645e+02, + "cpu_time": 1.9142052908435679e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/15/10", - "iterations": 2947244, - "real_time": 2.3613323430182521e+02, - "cpu_time": 2.3602117775114792e+02, + "iterations": 2761788, + "real_time": 2.4214072366883966e+02, + "cpu_time": 2.4204609477628347e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/15/12", - "iterations": 2420922, - "real_time": 2.8942130351708812e+02, - "cpu_time": 2.8925591159070768e+02, + "iterations": 2541388, + "real_time": 2.7833887899678530e+02, + "cpu_time": 2.7831090726799670e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/2/15/15", - "iterations": 1673956, - "real_time": 4.0673188903671559e+02, - "cpu_time": 4.0647962073076991e+02, + "iterations": 1693095, + "real_time": 3.9401189182355051e+02, + "cpu_time": 3.9395958289404615e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/2/2", - "iterations": 16207118, - "real_time": 4.2180399007642045e+01, - "cpu_time": 4.2174123739951725e+01, + "iterations": 16474814, + "real_time": 4.3384874275044702e+01, + "cpu_time": 4.3380884300120570e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/2/4", - "iterations": 9962002, - "real_time": 7.1164488721782519e+01, - "cpu_time": 7.1005305961592839e+01, + "iterations": 9513067, + "real_time": 6.7922964176697903e+01, + "cpu_time": 6.7885467431271508e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/2/6", - "iterations": 6828669, - "real_time": 9.3274137180082022e+01, - "cpu_time": 9.3197078376474238e+01, + "iterations": 7479671, + "real_time": 9.5339811463415344e+01, + "cpu_time": 9.5330930999504716e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/2/8", - "iterations": 6143207, - "real_time": 1.2033785122027216e+02, - "cpu_time": 1.2029319539452227e+02, + "iterations": 6046001, + "real_time": 1.1761493854293713e+02, + "cpu_time": 1.1758896500347922e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/2/10", - "iterations": 4586435, - "real_time": 1.5808493960560259e+02, - "cpu_time": 1.5767366156938886e+02, + "iterations": 4997751, + "real_time": 1.3986262380768429e+02, + "cpu_time": 1.3985110502704075e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/2/12", - "iterations": 3855687, - "real_time": 1.6396018349765839e+02, - "cpu_time": 1.6390438331742271e+02, + "iterations": 4330718, + "real_time": 1.6158340975002295e+02, + "cpu_time": 1.6156720432962894e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/2/15", - "iterations": 3507242, - "real_time": 2.0467584103165490e+02, - "cpu_time": 2.0459038754668018e+02, + "iterations": 3337259, + "real_time": 1.9656447612482785e+02, + "cpu_time": 1.9655741433313767e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/4/2", - "iterations": 11435666, - "real_time": 5.7481715012807982e+01, - "cpu_time": 5.7357481409477970e+01, + "iterations": 13051909, + "real_time": 5.3480483737200657e+01, + "cpu_time": 5.3447124095026908e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/4/4", - "iterations": 7962508, - "real_time": 9.0951644118849075e+01, - "cpu_time": 9.0924241457590881e+01, + "iterations": 8417306, + "real_time": 8.8835470755012622e+01, + "cpu_time": 8.8821173900533324e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/4/6", - "iterations": 5639249, - "real_time": 1.2987478652216333e+02, - "cpu_time": 1.2971656332252897e+02, + "iterations": 5776531, + "real_time": 1.2063462984831101e+02, + "cpu_time": 1.2061564284862287e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/4/8", - "iterations": 4329004, - "real_time": 1.7769543270624743e+02, - "cpu_time": 1.7634333440209309e+02, + "iterations": 4380119, + "real_time": 1.5673576995963629e+02, + "cpu_time": 1.5672017130128205e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/4/10", - "iterations": 3379667, - "real_time": 1.9393907920862958e+02, - "cpu_time": 1.9354066539691607e+02, + "iterations": 3610443, + "real_time": 1.8809724319996795e+02, + "cpu_time": 1.8807968994386596e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/4/12", - "iterations": 3055648, - "real_time": 2.5145695772522433e+02, - "cpu_time": 2.5091535412456076e+02, + "iterations": 3082356, + "real_time": 2.2239252150549490e+02, + "cpu_time": 2.2239319533499801e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/4/15", - "iterations": 2371957, - "real_time": 3.0714850732292410e+02, - "cpu_time": 3.0686138070799842e+02, + "iterations": 2155007, + "real_time": 3.0156745895641632e+02, + "cpu_time": 3.0138277973110945e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/6/2", - "iterations": 10459782, - "real_time": 6.4046746572889717e+01, - "cpu_time": 6.3991869046601821e+01, + "iterations": 11422045, + "real_time": 6.2586086996940061e+01, + "cpu_time": 6.2582313412353137e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/6/4", - "iterations": 6678433, - "real_time": 1.0639790081386042e+02, - "cpu_time": 1.0636387308220344e+02, + "iterations": 6455837, + "real_time": 1.0691195348531849e+02, + "cpu_time": 1.0684191685756636e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/6/6", - "iterations": 4686789, - "real_time": 1.5510567446903784e+02, - "cpu_time": 1.5500655139371577e+02, + "iterations": 4487064, + "real_time": 1.5306954678926806e+02, + "cpu_time": 1.5305553921227684e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/6/8", - "iterations": 3216956, - "real_time": 2.1105101467533294e+02, - "cpu_time": 2.1049122213670501e+02, + "iterations": 3288346, + "real_time": 1.9994677352065190e+02, + "cpu_time": 1.9992512953320431e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/6/10", - "iterations": 2432464, - "real_time": 2.7447243572430637e+02, - "cpu_time": 2.7378575798038474e+02, + "iterations": 2833652, + "real_time": 2.4715416534095203e+02, + "cpu_time": 2.4710444331202152e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/6/12", - "iterations": 2473839, - "real_time": 2.9723794356943245e+02, - "cpu_time": 2.9696637493385890e+02, + "iterations": 2459454, + "real_time": 2.8427064667612541e+02, + "cpu_time": 2.8419031215871615e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/6/15", - "iterations": 2080429, - "real_time": 3.4362699227420364e+02, - "cpu_time": 3.4334985716888161e+02, + "iterations": 2060787, + "real_time": 3.4508589098301695e+02, + "cpu_time": 3.4506234754004259e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/8/2", - "iterations": 9012953, - "real_time": 7.3893542437202854e+01, - "cpu_time": 7.3848493385020561e+01, + "iterations": 9993290, + "real_time": 7.1798699134122089e+01, + "cpu_time": 7.1789670869152744e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/8/4", - "iterations": 5828962, - "real_time": 1.2508431997542964e+02, - "cpu_time": 1.2501385323836281e+02, + "iterations": 5585478, + "real_time": 1.2155663454754836e+02, + "cpu_time": 1.2155235415840848e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/8/6", - "iterations": 3908060, - "real_time": 1.8515183799439345e+02, - "cpu_time": 1.8389482249504454e+02, + "iterations": 4100882, + "real_time": 1.7116278766453263e+02, + "cpu_time": 1.7115586354350256e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/8/8", - "iterations": 2699274, - "real_time": 2.6652934529683984e+02, - "cpu_time": 2.6464671611699515e+02, + "iterations": 2788900, + "real_time": 2.5293465774587679e+02, + "cpu_time": 2.5290580515615693e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/8/10", - "iterations": 2214195, - "real_time": 3.0090456306917196e+02, - "cpu_time": 2.9918096644604708e+02, + "iterations": 2469275, + "real_time": 2.8549059256928626e+02, + "cpu_time": 2.8541899950390479e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/8/12", - "iterations": 1942901, - "real_time": 3.5083716767621729e+02, - "cpu_time": 3.4925866011701538e+02, + "iterations": 2047496, + "real_time": 3.4921346709233200e+02, + "cpu_time": 3.4906588340099728e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/8/15", - "iterations": 1424191, - "real_time": 4.5181774776794708e+02, - "cpu_time": 4.5125759115175293e+02, + "iterations": 1663071, + "real_time": 4.1588986702002825e+02, + "cpu_time": 4.1583191577508495e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/10/2", - "iterations": 9068885, - "real_time": 8.4637584332552393e+01, - "cpu_time": 8.4547659387013312e+01, + "iterations": 8863452, + "real_time": 8.1121928788604890e+01, + "cpu_time": 8.1112076874787917e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/10/4", - "iterations": 4810435, - "real_time": 1.4305234701113557e+02, - "cpu_time": 1.4299205789081478e+02, + "iterations": 5086987, + "real_time": 1.4136363981395309e+02, + "cpu_time": 1.4130525594030391e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/10/6", - "iterations": 3220671, - "real_time": 2.1650257445460247e+02, - "cpu_time": 2.1631951851027560e+02, + "iterations": 3464369, + "real_time": 2.0603139447343059e+02, + "cpu_time": 2.0598642927470922e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/10/8", - "iterations": 2565888, - "real_time": 2.7960038590799383e+02, - "cpu_time": 2.7955974695699467e+02, + "iterations": 2573047, + "real_time": 2.6917693067204482e+02, + "cpu_time": 2.6915365323679720e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/10/10", - "iterations": 1902950, - "real_time": 3.4968666386543157e+02, - "cpu_time": 3.4966184082608828e+02, + "iterations": 2023940, + "real_time": 3.5260462516637295e+02, + "cpu_time": 3.5255145903534753e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/10/12", - "iterations": 1697291, - "real_time": 4.3619868128100558e+02, - "cpu_time": 4.3607313065349626e+02, + "iterations": 1619456, + "real_time": 4.2032739888907167e+02, + "cpu_time": 4.2016022664400805e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/10/15", "iterations": 1000000, - "real_time": 5.1288339006714523e+02, - "cpu_time": 5.1225900000000024e+02, + "real_time": 5.0154219893738627e+02, + "cpu_time": 5.0151100000000781e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/12/2", - "iterations": 7866848, - "real_time": 9.4410993079719532e+01, - "cpu_time": 9.4363460435488932e+01, + "iterations": 7580680, + "real_time": 8.9038033922956558e+01, + "cpu_time": 8.9029216376367685e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/12/4", - "iterations": 4441061, - "real_time": 1.6216119414547325e+02, - "cpu_time": 1.6206397525275997e+02, + "iterations": 4613914, + "real_time": 1.5659700633733300e+02, + "cpu_time": 1.5658419294334422e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/12/6", - "iterations": 2915258, - "real_time": 2.2706772091366307e+02, - "cpu_time": 2.2700563723690775e+02, + "iterations": 2996870, + "real_time": 2.3153008173095711e+02, + "cpu_time": 2.3149018809624854e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/12/8", - "iterations": 2353954, - "real_time": 3.1048152807110284e+02, - "cpu_time": 3.1035228385941076e+02, + "iterations": 2362032, + "real_time": 2.9835783128225927e+02, + "cpu_time": 2.9832068320835799e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/12/10", - "iterations": 1834074, - "real_time": 3.8939695127504308e+02, - "cpu_time": 3.8917022977262098e+02, + "iterations": 1870897, + "real_time": 3.8595794902268915e+02, + "cpu_time": 3.8587640046459109e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/12/12", - "iterations": 1357115, - "real_time": 5.4514639949038042e+02, - "cpu_time": 5.4468191715513615e+02, + "iterations": 1246394, + "real_time": 5.7372062119956411e+02, + "cpu_time": 5.7218985328876352e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/12/15", - "iterations": 1205587, - "real_time": 5.9689263404362214e+02, - "cpu_time": 5.9667614199556249e+02, + "iterations": 977708, + "real_time": 6.4467706417034265e+02, + "cpu_time": 6.4228583585284139e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/15/2", - "iterations": 7004413, - "real_time": 9.8893570392951474e+01, - "cpu_time": 9.8876665325130858e+01, + "iterations": 6943067, + "real_time": 9.8658166911243470e+01, + "cpu_time": 9.8618809238050872e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/15/4", - "iterations": 3538356, - "real_time": 1.8658159891355663e+02, - "cpu_time": 1.8620737992446558e+02, + "iterations": 3911904, + "real_time": 1.8119812270862280e+02, + "cpu_time": 1.8117469140346921e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/15/6", - "iterations": 2673807, - "real_time": 2.6344832218313570e+02, - "cpu_time": 2.6334698054122748e+02, + "iterations": 2637349, + "real_time": 2.5648883899554352e+02, + "cpu_time": 2.5647307201284036e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/15/8", - "iterations": 2085972, - "real_time": 3.4868751262563870e+02, - "cpu_time": 3.4832298803627111e+02, + "iterations": 2098919, + "real_time": 3.3669370089050642e+02, + "cpu_time": 3.3667235372113043e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/15/10", - "iterations": 1541714, - "real_time": 4.5423089233254802e+02, - "cpu_time": 4.5414194850665564e+02, + "iterations": 1534815, + "real_time": 4.4564397795792217e+02, + "cpu_time": 4.4547127829737769e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/15/12", - "iterations": 1309782, - "real_time": 5.2382837908381589e+02, - "cpu_time": 5.2309239247447090e+02, + "iterations": 1394645, + "real_time": 4.9851090279234029e+02, + "cpu_time": 4.9849746709736365e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/4/15/15", - "iterations": 836950, - "real_time": 8.3989329353233938e+02, - "cpu_time": 8.3809785530795148e+02, + "iterations": 979377, + "real_time": 7.4883278356499386e+02, + "cpu_time": 7.4843599553593924e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/2/2", - "iterations": 12043425, - "real_time": 5.9082607140950479e+01, - "cpu_time": 5.8993932373889457e+01, + "iterations": 12690585, + "real_time": 5.5689923042470042e+01, + "cpu_time": 5.5686164191801161e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/2/4", - "iterations": 7417847, - "real_time": 9.8062092827626742e+01, - "cpu_time": 9.7989484010657364e+01, + "iterations": 7749278, + "real_time": 9.0937540633810826e+01, + "cpu_time": 9.0922922109647317e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/2/6", - "iterations": 5296169, - "real_time": 1.3302209596804420e+02, - "cpu_time": 1.3287944550107986e+02, + "iterations": 5323842, + "real_time": 1.2913365347896055e+02, + "cpu_time": 1.2912028568841805e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/2/8", - "iterations": 4048443, - "real_time": 1.6685698823795914e+02, - "cpu_time": 1.6675003204936152e+02, + "iterations": 4195310, + "real_time": 1.6213175165344813e+02, + "cpu_time": 1.6212198860155567e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/2/10", - "iterations": 3321550, - "real_time": 2.1639208981400242e+02, - "cpu_time": 2.1622194457406991e+02, + "iterations": 3400485, + "real_time": 2.0596146402703650e+02, + "cpu_time": 2.0593709426743700e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/2/12", - "iterations": 2874684, - "real_time": 2.4334760445298454e+02, - "cpu_time": 2.4319890464482134e+02, + "iterations": 2854242, + "real_time": 2.4049820270707806e+02, + "cpu_time": 2.4040428246799442e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/2/15", - "iterations": 2449188, - "real_time": 2.9918569868530494e+02, - "cpu_time": 2.9885415084509543e+02, + "iterations": 2435020, + "real_time": 2.9219360828584837e+02, + "cpu_time": 2.9214092697390771e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/4/2", - "iterations": 9699052, - "real_time": 7.9328126084386199e+01, - "cpu_time": 7.8863068266880006e+01, + "iterations": 10100427, + "real_time": 7.1792789657422134e+01, + "cpu_time": 7.1782113766080343e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/4/4", - "iterations": 5063584, - "real_time": 1.3045609118139191e+02, - "cpu_time": 1.3039815277084276e+02, + "iterations": 5638886, + "real_time": 1.2653827775931252e+02, + "cpu_time": 1.2651222244961058e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/4/6", - "iterations": 3888673, - "real_time": 1.7541649890723500e+02, - "cpu_time": 1.7534490557575521e+02, + "iterations": 4154253, + "real_time": 1.6877493789034293e+02, + "cpu_time": 1.6875837846178700e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/4/8", - "iterations": 2973434, - "real_time": 2.3648825499885407e+02, - "cpu_time": 2.3596151789479816e+02, + "iterations": 2990456, + "real_time": 2.2844298729841947e+02, + "cpu_time": 2.2842870786261670e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/4/10", - "iterations": 2174865, - "real_time": 2.8912886499412588e+02, - "cpu_time": 2.8876872817392706e+02, + "iterations": 2461331, + "real_time": 2.7473397765346658e+02, + "cpu_time": 2.7462255178194425e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/4/12", - "iterations": 2013722, - "real_time": 3.2543687807079834e+02, - "cpu_time": 3.2537758439347630e+02, + "iterations": 2182038, + "real_time": 3.2980116982258562e+02, + "cpu_time": 3.2974952773508159e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/4/15", - "iterations": 1461680, - "real_time": 4.6852016449020482e+02, - "cpu_time": 4.6634625909912381e+02, + "iterations": 1617596, + "real_time": 4.2933305164705126e+02, + "cpu_time": 4.2931115062104402e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/6/2", - "iterations": 7691124, - "real_time": 9.1343638200642957e+01, - "cpu_time": 9.0846669485500172e+01, + "iterations": 7852463, + "real_time": 8.5734247706899041e+01, + "cpu_time": 8.5727879265397434e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/6/4", - "iterations": 4712472, - "real_time": 1.5259095161047077e+02, - "cpu_time": 1.5241809394305153e+02, + "iterations": 4584572, + "real_time": 1.4878588077851896e+02, + "cpu_time": 1.4877070313215489e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/6/6", - "iterations": 2831440, - "real_time": 2.3450973497452532e+02, - "cpu_time": 2.3441323142994682e+02, + "iterations": 3113034, + "real_time": 2.2415460671582321e+02, + "cpu_time": 2.2413728857442828e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/6/8", - "iterations": 2419266, - "real_time": 2.9609515945178322e+02, - "cpu_time": 2.9460299115516727e+02, + "iterations": 2480440, + "real_time": 2.9233936598502436e+02, + "cpu_time": 2.9216147135185611e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/6/10", - "iterations": 1877254, - "real_time": 3.6024387910698209e+02, - "cpu_time": 3.6022775820427580e+02, + "iterations": 1826241, + "real_time": 3.7124279876044108e+02, + "cpu_time": 3.7112133612157419e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/6/12", - "iterations": 1752646, - "real_time": 4.3411572955674654e+02, - "cpu_time": 4.3312055029937608e+02, + "iterations": 1693386, + "real_time": 4.1333548635467139e+02, + "cpu_time": 4.1306471176684664e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/6/15", - "iterations": 1315542, - "real_time": 5.4214418851129869e+02, - "cpu_time": 5.4017887684315644e+02, + "iterations": 1441994, + "real_time": 5.0016082036079621e+02, + "cpu_time": 5.0008391158353641e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/8/2", - "iterations": 6841149, - "real_time": 1.0596176255902031e+02, - "cpu_time": 1.0588338303989703e+02, + "iterations": 6992728, + "real_time": 9.9423880931306783e+01, + "cpu_time": 9.9414134226299609e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/8/4", - "iterations": 3793956, - "real_time": 2.0189055014003333e+02, - "cpu_time": 2.0165494802786179e+02, + "iterations": 3990810, + "real_time": 1.7861654075256743e+02, + "cpu_time": 1.7851964889333033e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/8/6", - "iterations": 2597017, - "real_time": 2.7023254257189183e+02, - "cpu_time": 2.7011683019402676e+02, + "iterations": 2694546, + "real_time": 2.5425272531897571e+02, + "cpu_time": 2.5420683113221585e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/8/8", - "iterations": 1812899, - "real_time": 3.8103156431162182e+02, - "cpu_time": 3.8072501556899010e+02, + "iterations": 2049810, + "real_time": 3.5523021064495185e+02, + "cpu_time": 3.5519487171981825e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/8/10", - "iterations": 1607097, - "real_time": 4.5053906393599596e+02, - "cpu_time": 4.4981230131099846e+02, + "iterations": 1654178, + "real_time": 4.1579454628120772e+02, + "cpu_time": 4.1576359980606782e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/8/12", - "iterations": 1174063, - "real_time": 5.2198507150437194e+02, - "cpu_time": 5.2183145197489205e+02, + "iterations": 1451728, + "real_time": 4.9483625034818607e+02, + "cpu_time": 4.9477037020709042e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/8/15", - "iterations": 1168966, - "real_time": 6.3851908269395949e+02, - "cpu_time": 6.3822215530647225e+02, + "iterations": 1148916, + "real_time": 6.1384197363439864e+02, + "cpu_time": 6.1359577201466686e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/10/2", - "iterations": 6066121, - "real_time": 1.2056502812954116e+02, - "cpu_time": 1.2045077900688199e+02, + "iterations": 6477103, + "real_time": 1.1135232881351379e+02, + "cpu_time": 1.1134360531243580e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/10/4", - "iterations": 3167149, - "real_time": 2.2350788487136370e+02, - "cpu_time": 2.2179979533643595e+02, + "iterations": 3416818, + "real_time": 2.0457465571371861e+02, + "cpu_time": 2.0455523238287645e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/10/6", - "iterations": 2205475, - "real_time": 3.1970031853583629e+02, - "cpu_time": 3.1922012264931499e+02, + "iterations": 2302306, + "real_time": 2.9534043914496880e+02, + "cpu_time": 2.9532955219679945e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/10/8", - "iterations": 1658088, - "real_time": 4.1332891317829211e+02, - "cpu_time": 4.1294430693666283e+02, + "iterations": 1774088, + "real_time": 4.0670578232732629e+02, + "cpu_time": 4.0615854455924273e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/10/10", - "iterations": 1234111, - "real_time": 5.2593923236295927e+02, - "cpu_time": 5.2542113310715956e+02, + "iterations": 1231917, + "real_time": 5.4897979164380706e+02, + "cpu_time": 5.4796629967765796e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/10/12", - "iterations": 1108402, - "real_time": 6.0568832688842747e+02, - "cpu_time": 6.0542023561848180e+02, + "iterations": 978296, + "real_time": 6.4451409794169001e+02, + "cpu_time": 6.4267358754405916e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/10/15", - "iterations": 922984, - "real_time": 7.4109262892693687e+02, - "cpu_time": 7.4046137311155030e+02, + "iterations": 821529, + "real_time": 8.1396386496760533e+02, + "cpu_time": 8.1192386391717207e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/12/2", - "iterations": 5129934, - "real_time": 1.3503479518615032e+02, - "cpu_time": 1.3498770159615975e+02, + "iterations": 4649217, + "real_time": 1.4444366138347212e+02, + "cpu_time": 1.4393219331341544e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/12/4", - "iterations": 2747361, - "real_time": 2.5112972230050190e+02, - "cpu_time": 2.5033805167941270e+02, + "iterations": 2666667, + "real_time": 2.4535071194191454e+02, + "cpu_time": 2.4433684445789632e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/12/6", - "iterations": 1852263, - "real_time": 3.6481947111278521e+02, - "cpu_time": 3.6378905155477486e+02, + "iterations": 1887540, + "real_time": 3.3825654770458550e+02, + "cpu_time": 3.3820316390645485e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/12/8", - "iterations": 1000000, - "real_time": 5.1421511999797076e+02, - "cpu_time": 5.1146799999999359e+02, + "iterations": 1557463, + "real_time": 4.3993916130806662e+02, + "cpu_time": 4.3974913047693741e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/12/10", - "iterations": 955736, - "real_time": 6.2752596841748550e+02, - "cpu_time": 6.2367850536130516e+02, + "iterations": 1318168, + "real_time": 5.4792919415966696e+02, + "cpu_time": 5.4785732926303513e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/12/12", - "iterations": 783752, - "real_time": 8.8254504493851812e+02, - "cpu_time": 8.7498468903428966e+02, + "iterations": 955397, + "real_time": 7.6576333285689088e+02, + "cpu_time": 7.6560005945172998e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/12/15", - "iterations": 732838, - "real_time": 9.9538949261736070e+02, - "cpu_time": 9.9138554496354618e+02, + "iterations": 836190, + "real_time": 8.6230384005145504e+02, + "cpu_time": 8.6215573015704558e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/15/2", - "iterations": 4186928, - "real_time": 1.5806606038049790e+02, - "cpu_time": 1.5763227836733978e+02, + "iterations": 4987958, + "real_time": 1.3968344219478334e+02, + "cpu_time": 1.3966336524886262e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/15/4", - "iterations": 2512346, - "real_time": 2.8517139079158295e+02, - "cpu_time": 2.8412646984131953e+02, + "iterations": 2565371, + "real_time": 2.6460867804810567e+02, + "cpu_time": 2.6456329318449963e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/15/6", - "iterations": 1763704, - "real_time": 4.1391156509344813e+02, - "cpu_time": 4.1302395413289548e+02, + "iterations": 1880012, + "real_time": 3.8919965622660027e+02, + "cpu_time": 3.8898049586917864e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/15/8", - "iterations": 1240871, - "real_time": 5.6336678265977912e+02, - "cpu_time": 5.6228890835548873e+02, + "iterations": 1365188, + "real_time": 4.9637808856791634e+02, + "cpu_time": 4.9635508076545051e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/15/10", - "iterations": 904159, - "real_time": 7.4939866994760132e+02, - "cpu_time": 7.4667287501425676e+02, + "iterations": 1086872, + "real_time": 6.9286484515403720e+02, + "cpu_time": 6.9161686012704547e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/15/12", - "iterations": 897620, - "real_time": 8.7108301513305560e+02, - "cpu_time": 8.6598003609548471e+02, + "iterations": 885426, + "real_time": 8.8338131022563357e+02, + "cpu_time": 8.7919148522857699e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/6/15/15", - "iterations": 571345, - "real_time": 1.3980239819711849e+03, - "cpu_time": 1.3874279113320756e+03, + "iterations": 578972, + "real_time": 1.2325329030816808e+03, + "cpu_time": 1.2275999530201320e+03, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/2/2", - "iterations": 9532759, - "real_time": 7.6588038155612722e+01, - "cpu_time": 7.6506811931359039e+01, + "iterations": 9077587, + "real_time": 7.4814990481654888e+01, + "cpu_time": 7.4654971635085417e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/2/4", - "iterations": 5132830, - "real_time": 1.1959779341014466e+02, - "cpu_time": 1.1945905085498369e+02, + "iterations": 5196502, + "real_time": 1.3292391227883397e+02, + "cpu_time": 1.3242254116327086e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/2/6", - "iterations": 3992130, - "real_time": 1.6921068251920215e+02, - "cpu_time": 1.6911874112316414e+02, + "iterations": 3855538, + "real_time": 1.8264621382538539e+02, + "cpu_time": 1.8196656342124226e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/2/8", - "iterations": 3090426, - "real_time": 2.2088293523377064e+02, - "cpu_time": 2.2077991836723734e+02, + "iterations": 2971680, + "real_time": 2.3927783945276045e+02, + "cpu_time": 2.3801048565121340e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/2/10", - "iterations": 2522895, - "real_time": 2.6362707683155992e+02, - "cpu_time": 2.6359638431245975e+02, + "iterations": 2467978, + "real_time": 2.6460099280780082e+02, + "cpu_time": 2.6458218023013416e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/2/12", - "iterations": 2226229, - "real_time": 3.0067014175234908e+02, - "cpu_time": 3.0060699056565863e+02, + "iterations": 2234658, + "real_time": 3.0409689759217332e+02, + "cpu_time": 3.0406308258356307e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/2/15", - "iterations": 1880492, - "real_time": 3.7847329581649939e+02, - "cpu_time": 3.7842171091394414e+02, + "iterations": 1853612, + "real_time": 3.7974601157384751e+02, + "cpu_time": 3.7954005476874204e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/4/2", - "iterations": 7670560, - "real_time": 8.9576857897354571e+01, - "cpu_time": 8.9551740681251204e+01, + "iterations": 7466030, + "real_time": 9.1340599224382458e+01, + "cpu_time": 9.1327519444740446e+01, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/4/4", - "iterations": 4321921, - "real_time": 1.5606372860144725e+02, - "cpu_time": 1.5606347270113949e+02, + "iterations": 4391633, + "real_time": 1.5967630902741828e+02, + "cpu_time": 1.5964972482901553e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/4/6", - "iterations": 3054421, - "real_time": 2.2467301333992398e+02, - "cpu_time": 2.2456039949961013e+02, + "iterations": 3204615, + "real_time": 2.2991105204894677e+02, + "cpu_time": 2.2982667184669342e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/4/8", - "iterations": 2468953, - "real_time": 2.8617837240138499e+02, - "cpu_time": 2.8617191173748773e+02, + "iterations": 2409946, + "real_time": 2.9625366916167997e+02, + "cpu_time": 2.9617261133651095e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/4/10", - "iterations": 1963231, - "real_time": 3.6172731581259410e+02, - "cpu_time": 3.6160798194404151e+02, + "iterations": 1959176, + "real_time": 3.8230479498320688e+02, + "cpu_time": 3.8153182766632716e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/4/12", - "iterations": 1648249, - "real_time": 4.2369250155385254e+02, - "cpu_time": 4.2359801219354500e+02, + "iterations": 1640312, + "real_time": 4.1604738977820108e+02, + "cpu_time": 4.1593794351318132e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/4/15", - "iterations": 1286315, - "real_time": 6.2654984738027031e+02, - "cpu_time": 6.2332632364545304e+02, + "iterations": 1272658, + "real_time": 5.7596736510050516e+02, + "cpu_time": 5.7574462267161618e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/6/2", - "iterations": 5803446, - "real_time": 1.1100380757268242e+02, - "cpu_time": 1.1097699539204733e+02, + "iterations": 6381737, + "real_time": 1.1067624566477582e+02, + "cpu_time": 1.1065890054698362e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/6/4", - "iterations": 3528795, - "real_time": 1.9832389414967807e+02, - "cpu_time": 1.9828638387891766e+02, + "iterations": 3615161, + "real_time": 1.9936589627389426e+02, + "cpu_time": 1.9928987948254314e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/6/6", - "iterations": 2272004, - "real_time": 3.2975131822834925e+02, - "cpu_time": 3.2867943894465884e+02, + "iterations": 2432980, + "real_time": 2.8818450954648125e+02, + "cpu_time": 2.8814170276781022e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/6/8", - "iterations": 1688602, - "real_time": 3.9822772741010385e+02, - "cpu_time": 3.9776158028949408e+02, + "iterations": 1921593, + "real_time": 3.6794269025733450e+02, + "cpu_time": 3.6771158096433561e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/6/10", - "iterations": 1000000, - "real_time": 5.0522653991356492e+02, - "cpu_time": 5.0460400000000050e+02, + "iterations": 1456713, + "real_time": 4.8011818731937473e+02, + "cpu_time": 4.8001150535484845e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/6/12", - "iterations": 1242412, - "real_time": 5.2945967839672642e+02, - "cpu_time": 5.2930026432456214e+02, + "iterations": 1345766, + "real_time": 5.3422143369385333e+02, + "cpu_time": 5.3410994184726042e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/6/15", - "iterations": 1090224, - "real_time": 7.0379291685997021e+02, - "cpu_time": 7.0213460719997590e+02, + "iterations": 1105496, + "real_time": 6.4900527548288653e+02, + "cpu_time": 6.4898289998334712e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/8/2", - "iterations": 4879239, - "real_time": 1.4966664762643481e+02, - "cpu_time": 1.4918494461943982e+02, + "iterations": 5610728, + "real_time": 1.2972576554288207e+02, + "cpu_time": 1.2971329210754476e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/8/4", - "iterations": 2565230, - "real_time": 2.5743649772262546e+02, - "cpu_time": 2.5671694156079297e+02, + "iterations": 2964343, + "real_time": 2.3419747378108497e+02, + "cpu_time": 2.3417161914123909e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/8/6", - "iterations": 1831435, - "real_time": 3.7980381071173497e+02, - "cpu_time": 3.7910763963775429e+02, + "iterations": 2060745, + "real_time": 3.3509437949241374e+02, + "cpu_time": 3.3492693176495800e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/8/8", - "iterations": 1489080, - "real_time": 5.0858271013200630e+02, - "cpu_time": 5.0768528218766767e+02, + "iterations": 1532121, + "real_time": 4.6796175300009082e+02, + "cpu_time": 4.6777767552301339e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/8/10", - "iterations": 1202563, - "real_time": 6.0381200073047717e+02, - "cpu_time": 6.0093733134979732e+02, + "iterations": 1222494, + "real_time": 5.3750376856359139e+02, + "cpu_time": 5.3744803655475687e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/8/12", - "iterations": 985652, - "real_time": 6.9749720187981279e+02, - "cpu_time": 6.9628935973344653e+02, + "iterations": 1095273, + "real_time": 6.5036767265456433e+02, + "cpu_time": 6.5019223517787964e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/8/15", - "iterations": 778262, - "real_time": 8.5600023257637031e+02, - "cpu_time": 8.5497942852151380e+02, + "iterations": 858222, + "real_time": 7.9551011743831475e+02, + "cpu_time": 7.9550046491463843e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/10/2", - "iterations": 4420727, - "real_time": 1.4875919503097438e+02, - "cpu_time": 1.4855090576730777e+02, + "iterations": 4928675, + "real_time": 1.4237178633940761e+02, + "cpu_time": 1.4235225491638656e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/10/4", - "iterations": 2503756, - "real_time": 2.8609077362905361e+02, - "cpu_time": 2.8560410838755570e+02, + "iterations": 2567309, + "real_time": 2.6742697975572293e+02, + "cpu_time": 2.6731920466137223e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/10/6", - "iterations": 1696082, - "real_time": 4.0234310137639812e+02, - "cpu_time": 4.0208138521605946e+02, + "iterations": 1814750, + "real_time": 3.9193929416948743e+02, + "cpu_time": 3.9191403774623620e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/10/8", - "iterations": 1281136, - "real_time": 5.2640524185576021e+02, - "cpu_time": 5.2621423486652770e+02, + "iterations": 1318665, + "real_time": 5.1951774250268727e+02, + "cpu_time": 5.1943518634377608e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/10/10", - "iterations": 1080597, - "real_time": 6.9697407262556999e+02, - "cpu_time": 6.9635025823688807e+02, + "iterations": 1106370, + "real_time": 6.3612796990059542e+02, + "cpu_time": 6.3612805842531770e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/10/12", - "iterations": 928616, - "real_time": 7.9869364842174139e+02, - "cpu_time": 7.9838275455085102e+02, + "iterations": 928591, + "real_time": 7.8828917242652858e+02, + "cpu_time": 7.8821784833153549e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/10/15", - "iterations": 680398, - "real_time": 1.0182754357610502e+03, - "cpu_time": 1.0176058718573443e+03, + "iterations": 713339, + "real_time": 9.7335762936537560e+02, + "cpu_time": 9.7303806465089531e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/12/2", - "iterations": 3926408, - "real_time": 1.7213340716668466e+02, - "cpu_time": 1.7197193974747250e+02, + "iterations": 4181401, + "real_time": 1.6552719433652294e+02, + "cpu_time": 1.6544789653037117e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/12/4", - "iterations": 2318948, - "real_time": 3.0735197728527095e+02, - "cpu_time": 3.0688312113940168e+02, + "iterations": 2348119, + "real_time": 2.9748274087983810e+02, + "cpu_time": 2.9745681543395926e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/12/6", - "iterations": 1614428, - "real_time": 4.5847755240719118e+02, - "cpu_time": 4.5777204062366889e+02, + "iterations": 1645711, + "real_time": 4.4043382043276949e+02, + "cpu_time": 4.4039202508824968e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/12/8", - "iterations": 1078184, - "real_time": 6.0787059630700890e+02, - "cpu_time": 6.0728688238741495e+02, + "iterations": 1209336, + "real_time": 5.7572677324886286e+02, + "cpu_time": 5.7557204945525234e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/12/10", - "iterations": 1011809, - "real_time": 7.4740751365040728e+02, - "cpu_time": 7.4692555610793761e+02, + "iterations": 927890, + "real_time": 7.0508588416285829e+02, + "cpu_time": 7.0508249900313422e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/12/12", - "iterations": 695756, - "real_time": 1.0244048171730822e+03, - "cpu_time": 1.0236677800838146e+03, + "iterations": 681192, + "real_time": 1.0237203813687300e+03, + "cpu_time": 1.0230595779163575e+03, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/12/15", - "iterations": 614445, - "real_time": 1.1629133121539439e+03, - "cpu_time": 1.1622309563915251e+03, + "iterations": 633972, + "real_time": 1.1137827491945616e+03, + "cpu_time": 1.1133788243013817e+03, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/15/2", - "iterations": 3537980, - "real_time": 1.9669485469136589e+02, - "cpu_time": 1.9661190849015267e+02, + "iterations": 3798959, + "real_time": 1.9195881056690735e+02, + "cpu_time": 1.9188203926391216e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/15/4", - "iterations": 1903705, - "real_time": 3.5161563688708793e+02, - "cpu_time": 3.5154501353939145e+02, + "iterations": 2042502, + "real_time": 3.3350166459362822e+02, + "cpu_time": 3.3348804554414261e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/15/6", - "iterations": 1320730, - "real_time": 5.0583696665618123e+02, - "cpu_time": 5.0575287908960541e+02, + "iterations": 1209211, + "real_time": 4.9613231846403244e+02, + "cpu_time": 4.9596141616311303e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/15/8", - "iterations": 1013318, - "real_time": 6.7402857739576677e+02, - "cpu_time": 6.7375098438987470e+02, + "iterations": 1055027, + "real_time": 6.5127444604357549e+02, + "cpu_time": 6.5121650915097450e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/15/10", - "iterations": 835003, - "real_time": 9.2200459509810582e+02, - "cpu_time": 9.2076196133425333e+02, + "iterations": 840619, + "real_time": 8.7077990377238814e+02, + "cpu_time": 8.7059654849581716e+02, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/15/12", - "iterations": 641854, - "real_time": 1.0516495808653185e+03, - "cpu_time": 1.0499911194757453e+03, + "iterations": 704084, + "real_time": 1.0018840380008629e+03, + "cpu_time": 1.0014714153424787e+03, "time_unit": "ns" }, { "name": "BM_MatrixMatrixMultiplyDynamic/8/15/15", - "iterations": 452150, - "real_time": 1.4838468495879563e+03, - "cpu_time": 1.4831493973239428e+03, + "iterations": 492670, + "real_time": 1.4063833480036617e+03, + "cpu_time": 1.4058111920758818e+03, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/2/2", - "iterations": 23166688, - "real_time": 3.0908356171033486e+01, - "cpu_time": 3.0853482379527367e+01, + "iterations": 25292855, + "real_time": 2.7151044434207272e+01, + "cpu_time": 2.7141854883523742e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/2/4", - "iterations": 14286676, - "real_time": 4.8835590242933613e+01, - "cpu_time": 4.8755987746905063e+01, + "iterations": 22065592, + "real_time": 3.0147460445520789e+01, + "cpu_time": 3.0142087282317927e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/2/6", - "iterations": 10327226, - "real_time": 6.7048685582897946e+01, - "cpu_time": 6.6902864331619611e+01, + "iterations": 17585686, + "real_time": 4.0896115738901862e+01, + "cpu_time": 4.0889846435333894e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/2/8", - "iterations": 7822890, - "real_time": 8.6306467559823034e+01, - "cpu_time": 8.6068320019839746e+01, + "iterations": 17879173, + "real_time": 3.9104480952284604e+01, + "cpu_time": 3.9094425676175717e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/4/2", - "iterations": 15182867, - "real_time": 4.6774265622794047e+01, - "cpu_time": 4.6768834897916236e+01, + "iterations": 20211470, + "real_time": 3.5726134562870051e+01, + "cpu_time": 3.5709871671878233e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/4/4", - "iterations": 8701597, - "real_time": 7.7058777250823880e+01, - "cpu_time": 7.7047351193119795e+01, + "iterations": 16443041, + "real_time": 4.2614241667397437e+01, + "cpu_time": 4.2613346278221961e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/4/6", - "iterations": 6345523, - "real_time": 1.1144365926667264e+02, - "cpu_time": 1.1144014449241867e+02, + "iterations": 11172114, + "real_time": 6.0791242559487927e+01, + "cpu_time": 6.0775069069292428e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/4/8", - "iterations": 4992404, - "real_time": 1.4219013364954284e+02, - "cpu_time": 1.4216597855461725e+02, + "iterations": 12821452, + "real_time": 5.5550041061029674e+01, + "cpu_time": 5.5545658947208125e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/5/2", - "iterations": 13019138, - "real_time": 5.4012483770823920e+01, - "cpu_time": 5.4012485312009112e+01, + "iterations": 17749604, + "real_time": 4.1344189307909765e+01, + "cpu_time": 4.1332809453099763e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/5/4", - "iterations": 7672494, - "real_time": 9.8577637081135052e+01, - "cpu_time": 9.8508125258881194e+01, + "iterations": 13331302, + "real_time": 4.8198646008625467e+01, + "cpu_time": 4.8196192689955978e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/5/6", - "iterations": 5097694, - "real_time": 1.3615404692470352e+02, - "cpu_time": 1.3614293050936510e+02, + "iterations": 10521411, + "real_time": 6.8834705341078177e+01, + "cpu_time": 6.8811493059246160e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/5/8", - "iterations": 4153415, - "real_time": 1.7059790125538956e+02, - "cpu_time": 1.7053412673667592e+02, + "iterations": 11636025, + "real_time": 6.2196941996305029e+01, + "cpu_time": 6.2184637795122761e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/8/2", - "iterations": 8391072, - "real_time": 8.2289985592021822e+01, - "cpu_time": 8.2278402568825641e+01, + "iterations": 13038781, + "real_time": 5.4562157074023844e+01, + "cpu_time": 5.4557093949195860e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/8/4", - "iterations": 5004540, - "real_time": 1.3907148868169401e+02, - "cpu_time": 1.3907052396424245e+02, + "iterations": 10672359, + "real_time": 6.8669581486015318e+01, + "cpu_time": 6.8651644870644702e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/8/6", - "iterations": 3355206, - "real_time": 2.0755993073931194e+02, - "cpu_time": 2.0750409959925366e+02, + "iterations": 6770481, + "real_time": 9.5025799208693442e+01, + "cpu_time": 9.5012451847956484e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/8/8", - "iterations": 2392811, - "real_time": 2.9440564299311592e+02, - "cpu_time": 2.9369306643943202e+02, + "iterations": 7957168, + "real_time": 9.1177169189164204e+01, + "cpu_time": 9.1174397725419311e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/10/2", - "iterations": 7198610, - "real_time": 9.9426971039264146e+01, - "cpu_time": 9.9391827033275320e+01, + "iterations": 9478031, + "real_time": 8.1617647595690258e+01, + "cpu_time": 8.1392327161621083e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/10/4", - "iterations": 3679621, - "real_time": 1.7742026690257489e+02, - "cpu_time": 1.7730548879897836e+02, + "iterations": 6851259, + "real_time": 8.7605171689521143e+01, + "cpu_time": 8.7577334326437409e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/10/6", - "iterations": 2672286, - "real_time": 2.5595225101927144e+02, - "cpu_time": 2.5595089747130595e+02, + "iterations": 5702276, + "real_time": 1.2516309347923458e+02, + "cpu_time": 1.2515423665918561e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/10/8", - "iterations": 2006202, - "real_time": 3.3350259046717514e+02, - "cpu_time": 3.3343202728338616e+02, + "iterations": 6238748, + "real_time": 1.1231960098122468e+02, + "cpu_time": 1.1229576831762046e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/12/2", - "iterations": 6069697, - "real_time": 1.1986262707529080e+02, - "cpu_time": 1.1980598043032748e+02, + "iterations": 8746392, + "real_time": 8.0646409966732648e+01, + "cpu_time": 8.0641709175625650e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/12/4", - "iterations": 3230049, - "real_time": 2.1174781809104439e+02, - "cpu_time": 2.1168502397331923e+02, + "iterations": 6862543, + "real_time": 1.0546842590693944e+02, + "cpu_time": 1.0543788213785912e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/12/6", - "iterations": 2312276, - "real_time": 3.0296995345939638e+02, - "cpu_time": 3.0294350674400658e+02, + "iterations": 4778516, + "real_time": 1.4042540863730284e+02, + "cpu_time": 1.4042204734691649e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/12/8", - "iterations": 1750919, - "real_time": 3.9761328538393502e+02, - "cpu_time": 3.9752038786488077e+02, + "iterations": 5720216, + "real_time": 1.2501864055361801e+02, + "cpu_time": 1.2499353171278851e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/15/2", - "iterations": 4791764, - "real_time": 1.4337153353597270e+02, - "cpu_time": 1.4334804468667602e+02, + "iterations": 6073700, + "real_time": 1.0861085235614615e+02, + "cpu_time": 1.0858652880451476e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/15/4", - "iterations": 2445398, - "real_time": 2.9792727318006075e+02, - "cpu_time": 2.9644785838542151e+02, + "iterations": 5871498, + "real_time": 1.2241918841377142e+02, + "cpu_time": 1.2240249421868481e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/15/6", - "iterations": 1675415, - "real_time": 4.1399307813196413e+02, - "cpu_time": 4.1306004780905164e+02, + "iterations": 4161613, + "real_time": 1.7430472512426471e+02, + "cpu_time": 1.7423220275407004e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/2/15/8", - "iterations": 1000000, - "real_time": 5.0919218396302313e+02, - "cpu_time": 5.0907499999999573e+02, + "iterations": 4886289, + "real_time": 1.4393398548816583e+02, + "cpu_time": 1.4392456115468804e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/2/2", - "iterations": 19681718, - "real_time": 3.7085834732254384e+01, - "cpu_time": 3.7055505012315642e+01, + "iterations": 18016812, + "real_time": 3.8874110807957280e+01, + "cpu_time": 3.8869307178206448e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/2/4", - "iterations": 11816939, - "real_time": 5.9712577852012636e+01, - "cpu_time": 5.9641418137133655e+01, + "iterations": 15862477, + "real_time": 4.5215548997123989e+01, + "cpu_time": 4.5128134779957485e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/2/6", - "iterations": 8307225, - "real_time": 8.3994282324664709e+01, - "cpu_time": 8.3933563855560990e+01, + "iterations": 11795036, + "real_time": 5.9462582224780718e+01, + "cpu_time": 5.9451620156140223e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/2/8", - "iterations": 6589724, - "real_time": 1.0500830004231972e+02, - "cpu_time": 1.0495872057767275e+02, + "iterations": 12708787, + "real_time": 5.6367768219025727e+01, + "cpu_time": 5.6361869940849246e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/4/2", - "iterations": 11177109, - "real_time": 5.9986059999957725e+01, - "cpu_time": 5.9945823199900779e+01, + "iterations": 12350907, + "real_time": 5.8155309809250724e+01, + "cpu_time": 5.8143988939435758e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/4/4", - "iterations": 6523826, - "real_time": 1.0054972220883876e+02, - "cpu_time": 1.0052337386067728e+02, + "iterations": 9687106, + "real_time": 7.0305975790357707e+01, + "cpu_time": 7.0296329987511967e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/4/6", - "iterations": 5107849, - "real_time": 1.4912620027430353e+02, - "cpu_time": 1.4892531083044693e+02, + "iterations": 7515003, + "real_time": 9.3827877381967866e+01, + "cpu_time": 9.3817261283857889e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/4/8", - "iterations": 3497831, - "real_time": 1.8957798046788480e+02, - "cpu_time": 1.8948085256262803e+02, + "iterations": 7882972, + "real_time": 9.1753700129723399e+01, + "cpu_time": 9.1736974328972266e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/5/2", - "iterations": 9799118, - "real_time": 7.1176791315499258e+01, - "cpu_time": 7.1137728926219566e+01, + "iterations": 10562690, + "real_time": 6.9845671415546008e+01, + "cpu_time": 6.9821797288379770e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/5/4", - "iterations": 4926386, - "real_time": 1.2998289760051796e+02, - "cpu_time": 1.2979210317664504e+02, + "iterations": 7926891, + "real_time": 9.0159960321824869e+01, + "cpu_time": 9.0150981008822257e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/5/6", - "iterations": 3907427, - "real_time": 1.8401142747728380e+02, - "cpu_time": 1.8372806452942160e+02, + "iterations": 6085634, + "real_time": 1.1478190375777179e+02, + "cpu_time": 1.1476733566297230e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/5/8", - "iterations": 2901747, - "real_time": 2.4004342245613037e+02, - "cpu_time": 2.3965838510386763e+02, + "iterations": 7091624, + "real_time": 9.9747764261981445e+01, + "cpu_time": 9.9746264043329859e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/8/2", - "iterations": 6598296, - "real_time": 1.0937043698980229e+02, - "cpu_time": 1.0931049470954648e+02, + "iterations": 6099155, + "real_time": 1.1502437060294029e+02, + "cpu_time": 1.1500494740664571e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/8/4", - "iterations": 3767370, - "real_time": 1.9433398100399043e+02, - "cpu_time": 1.9415427738713331e+02, + "iterations": 4908182, + "real_time": 1.3807724183988313e+02, + "cpu_time": 1.3806802600229483e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/8/6", - "iterations": 2559050, - "real_time": 2.7881860655332542e+02, - "cpu_time": 2.7861237568629309e+02, + "iterations": 3668186, + "real_time": 1.9131237210919636e+02, + "cpu_time": 1.9124984392830524e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/8/8", - "iterations": 1957128, - "real_time": 3.8107868164052729e+02, - "cpu_time": 3.8039361758657793e+02, + "iterations": 3904420, + "real_time": 1.7420847347641998e+02, + "cpu_time": 1.7418080022128458e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/10/2", - "iterations": 4998179, - "real_time": 1.3485141248265811e+02, - "cpu_time": 1.3473206941968377e+02, + "iterations": 5144562, + "real_time": 1.4310086088618348e+02, + "cpu_time": 1.4308428978016138e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/10/4", - "iterations": 2985393, - "real_time": 2.5855801428617633e+02, - "cpu_time": 2.5823635280180264e+02, + "iterations": 3830705, + "real_time": 1.7403503404397694e+02, + "cpu_time": 1.7398285694147322e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/10/6", - "iterations": 2025651, - "real_time": 3.4284212629807354e+02, - "cpu_time": 3.4259109787421784e+02, + "iterations": 2992860, + "real_time": 2.4153587806483168e+02, + "cpu_time": 2.4115528290665154e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/10/8", - "iterations": 1579013, - "real_time": 4.6579520371173885e+02, - "cpu_time": 4.6466241886544231e+02, + "iterations": 3354659, + "real_time": 2.1033175116034704e+02, + "cpu_time": 2.1028187961876961e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/12/2", - "iterations": 4616044, - "real_time": 1.5713524697743620e+02, - "cpu_time": 1.5704746315243284e+02, + "iterations": 3958739, + "real_time": 1.7653001295893489e+02, + "cpu_time": 1.7650898430031356e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/12/4", - "iterations": 2516700, - "real_time": 2.9100645371089314e+02, - "cpu_time": 2.9072436126674546e+02, + "iterations": 3444831, + "real_time": 2.0365106328593069e+02, + "cpu_time": 2.0359779623441440e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/12/6", - "iterations": 1709226, - "real_time": 4.1516586810596453e+02, - "cpu_time": 4.1491060866145557e+02, + "iterations": 2592151, + "real_time": 2.7323318430975951e+02, + "cpu_time": 2.7321826544827206e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/12/8", - "iterations": 1241883, - "real_time": 5.4475565329649237e+02, - "cpu_time": 5.4405366689133859e+02, + "iterations": 2958467, + "real_time": 2.3949989975970550e+02, + "cpu_time": 2.3940473224815295e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/15/2", - "iterations": 3694302, - "real_time": 1.8488382948101403e+02, - "cpu_time": 1.8476426670044455e+02, + "iterations": 3082085, + "real_time": 2.1687732267861827e+02, + "cpu_time": 2.1638825665093177e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/15/4", - "iterations": 2042233, - "real_time": 3.4596026115862389e+02, - "cpu_time": 3.4580383335299825e+02, + "iterations": 2948771, + "real_time": 2.3876129002426197e+02, + "cpu_time": 2.3872352244375239e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/15/6", - "iterations": 1317126, - "real_time": 5.2114540600165549e+02, - "cpu_time": 5.2072770562571907e+02, + "iterations": 2171155, + "real_time": 3.2606437403440316e+02, + "cpu_time": 3.2593619525090600e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/4/15/8", - "iterations": 1135295, - "real_time": 6.5425890270691934e+02, - "cpu_time": 6.5389964722827540e+02, + "iterations": 2349932, + "real_time": 3.0022190384820254e+02, + "cpu_time": 3.0018528195710189e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/2/2", - "iterations": 16592868, - "real_time": 4.0970286091986544e+01, - "cpu_time": 4.0966757524979869e+01, + "iterations": 13825522, + "real_time": 5.1403195405703322e+01, + "cpu_time": 5.1400590878233182e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/2/4", - "iterations": 10590976, - "real_time": 6.6239830209506550e+01, - "cpu_time": 6.6218543031351629e+01, + "iterations": 11294877, + "real_time": 6.0011368162106876e+01, + "cpu_time": 5.9981175536484614e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/2/6", - "iterations": 7059868, - "real_time": 9.4544511885896256e+01, - "cpu_time": 9.4514090065136926e+01, + "iterations": 9024456, + "real_time": 7.9565946797724678e+01, + "cpu_time": 7.9534544796936245e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/2/8", - "iterations": 5719188, - "real_time": 1.3004163230229511e+02, - "cpu_time": 1.2991616991782993e+02, + "iterations": 9776400, + "real_time": 7.3689118180278257e+01, + "cpu_time": 7.3674563233906738e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/4/2", - "iterations": 9752564, - "real_time": 6.8525121608589998e+01, - "cpu_time": 6.8516751082075046e+01, + "iterations": 8511777, + "real_time": 8.1897759302636175e+01, + "cpu_time": 8.1887836112248166e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/4/4", - "iterations": 5726159, - "real_time": 1.2255517983877553e+02, - "cpu_time": 1.2252558826955074e+02, + "iterations": 6867862, + "real_time": 9.7630730061988217e+01, + "cpu_time": 9.7603009495530586e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/4/6", - "iterations": 4103815, - "real_time": 1.7795451450251576e+02, - "cpu_time": 1.7789447136383765e+02, + "iterations": 4939944, + "real_time": 1.4240713052458332e+02, + "cpu_time": 1.4240343615231149e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/4/8", - "iterations": 2821034, - "real_time": 2.3261871073233979e+02, - "cpu_time": 2.3255657322811186e+02, + "iterations": 5379980, + "real_time": 1.3146850399296051e+02, + "cpu_time": 1.3145643664102354e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/5/2", - "iterations": 8639202, - "real_time": 8.2352238778858720e+01, - "cpu_time": 8.2320218927629014e+01, + "iterations": 5508298, + "real_time": 1.2778335829977725e+02, + "cpu_time": 1.2776632636796474e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/5/4", - "iterations": 4912522, - "real_time": 1.4484517116014243e+02, - "cpu_time": 1.4483008931053411e+02, + "iterations": 4931140, + "real_time": 1.2417263288413042e+02, + "cpu_time": 1.2415729425650493e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/5/6", - "iterations": 2973978, - "real_time": 2.1997081318013639e+02, - "cpu_time": 2.1991083995914832e+02, + "iterations": 3716979, + "real_time": 1.7937387620793518e+02, + "cpu_time": 1.7931766630911591e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/5/8", - "iterations": 2499375, - "real_time": 2.8963717449177921e+02, - "cpu_time": 2.8959319829957741e+02, + "iterations": 4704839, + "real_time": 1.4856214124854026e+02, + "cpu_time": 1.4847288079358418e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/8/2", - "iterations": 5430608, - "real_time": 1.3098994182538198e+02, - "cpu_time": 1.3094224440430938e+02, + "iterations": 3828379, + "real_time": 1.7642702091929959e+02, + "cpu_time": 1.7641252342048074e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/8/4", - "iterations": 2820738, - "real_time": 2.4762848620729287e+02, - "cpu_time": 2.4757031670435043e+02, + "iterations": 3178553, + "real_time": 2.2254808428582129e+02, + "cpu_time": 2.2236533416305690e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/8/6", - "iterations": 2004444, - "real_time": 3.5363001264824516e+02, - "cpu_time": 3.5320867033451810e+02, + "iterations": 2289827, + "real_time": 2.9522753114424376e+02, + "cpu_time": 2.9422965141034393e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/8/8", - "iterations": 1560375, - "real_time": 4.4702242153842866e+02, - "cpu_time": 4.4679003444684560e+02, + "iterations": 2563211, + "real_time": 2.5471758273481444e+02, + "cpu_time": 2.5470669406459896e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/10/2", - "iterations": 4387917, - "real_time": 1.5672350798426672e+02, - "cpu_time": 1.5660369145542728e+02, + "iterations": 3320841, + "real_time": 2.1948832421445522e+02, + "cpu_time": 2.1925470084235141e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/10/4", - "iterations": 2460180, - "real_time": 2.9458592462737818e+02, - "cpu_time": 2.9406506840961958e+02, + "iterations": 2595438, + "real_time": 2.8164086406031635e+02, + "cpu_time": 2.8109436634587809e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/10/6", - "iterations": 1591166, - "real_time": 4.1999859355506976e+02, - "cpu_time": 4.1983237449768080e+02, + "iterations": 1901048, + "real_time": 3.7669949940506007e+02, + "cpu_time": 3.7474172140840068e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/10/8", - "iterations": 1256484, - "real_time": 5.5584961524630944e+02, - "cpu_time": 5.5535207770256011e+02, + "iterations": 1935332, + "real_time": 3.5268577172852019e+02, + "cpu_time": 3.5101057596320084e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/12/2", - "iterations": 3639635, - "real_time": 1.8330436678902063e+02, - "cpu_time": 1.8323430783581640e+02, + "iterations": 2465857, + "real_time": 2.8694780356075177e+02, + "cpu_time": 2.8591398446869033e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/12/4", - "iterations": 2131910, - "real_time": 3.5329953889419215e+02, - "cpu_time": 3.5290467233607779e+02, + "iterations": 2424377, + "real_time": 3.1380514990839799e+02, + "cpu_time": 3.1352673284725660e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/12/6", - "iterations": 1418213, - "real_time": 5.1685270689378262e+02, - "cpu_time": 5.1643723474541241e+02, + "iterations": 1699041, + "real_time": 4.1115516634758364e+02, + "cpu_time": 4.1041622891972924e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/12/8", - "iterations": 1078998, - "real_time": 6.5661630324613179e+02, - "cpu_time": 6.5630705524941425e+02, + "iterations": 2015061, + "real_time": 3.5049843359947891e+02, + "cpu_time": 3.5043802644189248e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/15/2", - "iterations": 2989064, - "real_time": 2.4169597172119879e+02, - "cpu_time": 2.4139730698305644e+02, + "iterations": 2223585, + "real_time": 3.2827442663816248e+02, + "cpu_time": 3.2799870479429626e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/15/4", - "iterations": 1608855, - "real_time": 4.2763981960940112e+02, - "cpu_time": 4.2750527549095267e+02, + "iterations": 2032461, + "real_time": 3.6764164627581789e+02, + "cpu_time": 3.6734136595979533e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/15/6", - "iterations": 1173374, - "real_time": 6.3219860330892459e+02, - "cpu_time": 6.3159487085958642e+02, + "iterations": 1454845, + "real_time": 4.7894409648555728e+02, + "cpu_time": 4.7869841804454478e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/6/15/8", - "iterations": 897585, - "real_time": 8.3490393447941847e+02, - "cpu_time": 8.3421960037211306e+02, + "iterations": 1690588, + "real_time": 4.0958818113106776e+02, + "cpu_time": 4.0942500479121969e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/2/2", - "iterations": 13736533, - "real_time": 4.7060442110461317e+01, - "cpu_time": 4.7051974468373871e+01, + "iterations": 11031440, + "real_time": 6.5554157024771769e+01, + "cpu_time": 6.5520457891264968e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/2/4", - "iterations": 9238973, - "real_time": 7.8011983154052416e+01, - "cpu_time": 7.7935502138600583e+01, + "iterations": 9025387, + "real_time": 7.9776080069881658e+01, + "cpu_time": 7.9611766232295039e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/2/6", - "iterations": 6683152, - "real_time": 1.0491907426409284e+02, - "cpu_time": 1.0489077608888178e+02, + "iterations": 6950305, + "real_time": 1.0042530103821075e+02, + "cpu_time": 1.0040710443642280e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/2/8", - "iterations": 4920568, - "real_time": 1.4087181701925363e+02, - "cpu_time": 1.4072968811729817e+02, + "iterations": 7750479, + "real_time": 9.2724468376972212e+01, + "cpu_time": 9.2359323855981700e+01, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/4/2", - "iterations": 8910160, - "real_time": 8.4656269364672227e+01, - "cpu_time": 8.4596909595334935e+01, + "iterations": 6325568, + "real_time": 1.1790369006234678e+02, + "cpu_time": 1.1779131929337998e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/4/4", - "iterations": 4977176, - "real_time": 1.3650262335756997e+02, - "cpu_time": 1.3637833984572038e+02, + "iterations": 5399068, + "real_time": 1.3595422061298001e+02, + "cpu_time": 1.3584918730417584e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/4/6", - "iterations": 3542170, - "real_time": 2.0448998072683881e+02, - "cpu_time": 2.0431910382618042e+02, + "iterations": 3507928, + "real_time": 1.9749404777928154e+02, + "cpu_time": 1.9739259186620586e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/4/8", - "iterations": 2545306, - "real_time": 2.6667176673245842e+02, - "cpu_time": 2.6664691789513603e+02, + "iterations": 4200067, + "real_time": 1.7134937180691117e+02, + "cpu_time": 1.7126798215361706e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/5/2", - "iterations": 7390749, - "real_time": 9.8716042580185103e+01, - "cpu_time": 9.8542651089893610e+01, + "iterations": 3795087, + "real_time": 1.6795350276303446e+02, + "cpu_time": 1.6785043399533123e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/5/4", - "iterations": 4320934, - "real_time": 1.6309422362197583e+02, - "cpu_time": 1.6302910435567446e+02, + "iterations": 3927311, + "real_time": 1.7862383165866763e+02, + "cpu_time": 1.7855575990798138e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/5/6", - "iterations": 2763543, - "real_time": 2.4640125807299228e+02, - "cpu_time": 2.4632509789065688e+02, + "iterations": 3291887, + "real_time": 2.1772611665457177e+02, + "cpu_time": 2.1768517570622586e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/5/8", - "iterations": 2160581, - "real_time": 3.2176965132248881e+02, - "cpu_time": 3.2174632656681075e+02, + "iterations": 3392969, + "real_time": 2.0755736404846601e+02, + "cpu_time": 2.0703696379189000e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/8/2", - "iterations": 4923891, - "real_time": 1.4027321543260507e+02, - "cpu_time": 1.4025960363460857e+02, + "iterations": 2791959, + "real_time": 2.3949916669863933e+02, + "cpu_time": 2.3945516391894884e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/8/4", - "iterations": 2623275, - "real_time": 2.7616505664590318e+02, - "cpu_time": 2.7585289380638216e+02, + "iterations": 2434131, + "real_time": 3.0577923577307126e+02, + "cpu_time": 3.0552053278975040e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/8/6", - "iterations": 1752107, - "real_time": 3.9825616243616702e+02, - "cpu_time": 3.9796313809601418e+02, + "iterations": 1967077, + "real_time": 3.6756307764757895e+02, + "cpu_time": 3.6740605477060194e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/8/8", - "iterations": 1347138, - "real_time": 5.2444406957618230e+02, - "cpu_time": 5.2388916354524974e+02, + "iterations": 2025920, + "real_time": 3.3491070525053374e+02, + "cpu_time": 3.3465586005372012e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/10/2", - "iterations": 3964411, - "real_time": 1.8413985961855252e+02, - "cpu_time": 1.8353016374941100e+02, + "iterations": 2461097, + "real_time": 3.1264561532702294e+02, + "cpu_time": 3.1207099923328877e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/10/4", - "iterations": 2193546, - "real_time": 3.2562545942132925e+02, - "cpu_time": 3.2532073637843484e+02, + "iterations": 2026161, + "real_time": 3.5711660968195963e+02, + "cpu_time": 3.5638678268904562e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/10/6", - "iterations": 1528918, - "real_time": 4.8624262317947597e+02, - "cpu_time": 4.8519148835972010e+02, + "iterations": 1376923, + "real_time": 4.7417879790206104e+02, + "cpu_time": 4.7359147897156504e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/10/8", - "iterations": 1063765, - "real_time": 6.0309988758118516e+02, - "cpu_time": 6.0305988634705250e+02, + "iterations": 1779595, + "real_time": 3.9611361237767579e+02, + "cpu_time": 3.9577825291708672e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/12/2", - "iterations": 3353631, - "real_time": 2.0972672545551407e+02, - "cpu_time": 2.0961638295923979e+02, + "iterations": 2069800, + "real_time": 3.3508949754339409e+02, + "cpu_time": 3.3507633587785392e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/12/4", - "iterations": 1804891, - "real_time": 4.0532677377768863e+02, - "cpu_time": 4.0329582229617426e+02, + "iterations": 1819978, + "real_time": 3.8383968815841575e+02, + "cpu_time": 3.8376013336425916e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/12/6", - "iterations": 1168536, - "real_time": 5.7411932446752530e+02, - "cpu_time": 5.7363487303773388e+02, + "iterations": 1389082, + "real_time": 5.4213400067237194e+02, + "cpu_time": 5.4144103803809003e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/12/8", - "iterations": 899292, - "real_time": 7.3023451557405258e+02, - "cpu_time": 7.3011324464134782e+02, + "iterations": 1455504, + "real_time": 5.2323143255664854e+02, + "cpu_time": 5.2207551473579053e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/15/2", - "iterations": 2784640, - "real_time": 2.5370269835112620e+02, - "cpu_time": 2.5367911112386562e+02, + "iterations": 1486986, + "real_time": 4.3426104686888721e+02, + "cpu_time": 4.3341564749095130e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/15/4", - "iterations": 1499038, - "real_time": 4.5798840521274246e+02, - "cpu_time": 4.5795303387905744e+02, + "iterations": 1374112, + "real_time": 4.8682727903993663e+02, + "cpu_time": 4.8551355348035122e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/15/6", - "iterations": 1062554, - "real_time": 6.6175915484215727e+02, - "cpu_time": 6.6175272033233023e+02, + "iterations": 1079964, + "real_time": 6.4053175021590130e+02, + "cpu_time": 6.3993984984682413e+02, "time_unit": "ns" }, { "name": "BM_MatrixTransposeMatrixMultiplyDynamic/8/15/8", - "iterations": 802026, - "real_time": 9.1052324482760946e+02, - "cpu_time": 9.1032086241591992e+02, + "iterations": 1148388, + "real_time": 5.4868444198163991e+02, + "cpu_time": 5.4819364187018891e+02, "time_unit": "ns" } ]
diff --git a/internal/ceres/small_blas.h b/internal/ceres/small_blas.h index a603437..4f6ebf5 100644 --- a/internal/ceres/small_blas.h +++ b/internal/ceres/small_blas.h
@@ -221,22 +221,27 @@ DCHECK_LE(start_row_c + NUM_ROW_C, row_stride_c); DCHECK_LE(start_col_c + NUM_COL_C, col_stride_c); - for (int row = 0; row < NUM_ROW_C; ++row) { - for (int col = 0; col < NUM_COL_C; ++col) { - double tmp = 0.0; - for (int k = 0; k < NUM_ROW_A; ++k) { - tmp += A[k * NUM_COL_A + row] * B[k * NUM_COL_B + col]; - } + if (kOperation == 0) { + std::fill(C, C + NUM_ROW_C * NUM_COL_C, 0.0); + } - const int index = (row + start_row_c) * col_stride_c + start_col_c + col; - if (kOperation > 0) { - C[index]+= tmp; - } else if (kOperation < 0) { - C[index]-= tmp; - } else { - C[index]= tmp; + // Evaluate C op A' * B + // as the sum of rank one outer products of the rows of A and B. + for (int r = 0; r < NUM_ROW_A; ++r) { + double* c_row = C; + for (int i = 0; i < NUM_COL_A; ++i) { + const double a_value = A[i]; + for (int j = 0; j < NUM_COL_B; ++j) { + if (kOperation >= 0) { + c_row[j] += a_value * B[j]; + } else { + c_row[j] -= a_value * B[j]; + } } + c_row += NUM_COL_C; } + A += NUM_COL_A; + B += NUM_COL_B; } }