Commit 3b9f233
authored
perf: optimize
prev:
```
╰─ expand_selectivity │ │ │ │ │
├─ u8 │ │ │ │ │
│ ├─ 0.01 749.7 ns │ 2.52 µs │ 838.4 ns │ 841.1 ns │ 1000 │ 8000
│ ├─ 0.1 739.2 ns │ 2.182 µs │ 833.1 ns │ 835.9 ns │ 1000 │ 8000
│ ├─ 0.2 728.9 ns │ 1.796 µs │ 817.5 ns │ 819.9 ns │ 1000 │ 8000
│ ├─ 0.3 723.6 ns │ 2.635 µs │ 812.2 ns │ 810.9 ns │ 1000 │ 8000
│ ├─ 0.4 708 ns │ 6.885 µs │ 801.7 ns │ 803.6 ns │ 1000 │ 4000
│ ├─ 0.5 687.2 ns │ 3.541 µs │ 781 ns │ 770.9 ns │ 1000 │ 4000
│ ├─ 0.6 682 ns │ 2.072 µs │ 765.4 ns │ 756.5 ns │ 1000 │ 8000
│ ├─ 0.7 661.2 ns │ 2.354 µs │ 744.6 ns │ 742.9 ns │ 1000 │ 8000
│ ├─ 0.8 650.7 ns │ 2.104 µs │ 729 ns │ 733.6 ns │ 1000 │ 8000
│ ├─ 0.9 630 ns │ 1.421 µs │ 713.4 ns │ 710.9 ns │ 1000 │ 8000
│ ╰─ 0.99 598.7 ns │ 2.197 µs │ 676.9 ns │ 660.7 ns │ 1000 │ 8000
├─ u32 │ │ │ │ │
│ ├─ 0.01 760 ns │ 1.645 µs │ 854 ns │ 852.6 ns │ 1000 │ 4000
│ ├─ 0.1 760 ns │ 3.656 µs │ 854 ns │ 862.5 ns │ 1000 │ 4000
│ ├─ 0.2 749.7 ns │ 2.567 µs │ 848.7 ns │ 850.2 ns │ 1000 │ 8000
│ ├─ 0.3 728.9 ns │ 2.291 µs │ 827.9 ns │ 827.7 ns │ 1000 │ 8000
│ ├─ 0.4 708 ns │ 2.176 µs │ 801.7 ns │ 797.4 ns │ 1000 │ 8000
│ ├─ 0.5 687.2 ns │ 2.208 µs │ 775.7 ns │ 767.6 ns │ 1000 │ 8000
│ ├─ 0.6 676.9 ns │ 2.432 µs │ 770.5 ns │ 757.1 ns │ 1000 │ 8000
│ ├─ 0.7 656 ns │ 2.255 µs │ 749.7 ns │ 739.2 ns │ 1000 │ 8000
│ ├─ 0.8 650.7 ns │ 1.697 µs │ 734.1 ns │ 725.9 ns │ 1000 │ 8000
│ ├─ 0.9 629.9 ns │ 3.629 µs │ 713.2 ns │ 691.3 ns │ 1000 │ 8000
│ ╰─ 0.99 604 ns │ 2.984 µs │ 687.2 ns │ 672.7 ns │ 1000 │ 8000
╰─ u64 │ │ │ │ │
├─ 0.01 546.6 ns │ 1.885 µs │ 635.1 ns │ 635.8 ns │ 1000 │ 8000
├─ 0.1 572.6 ns │ 1.546 µs │ 661.2 ns │ 659.5 ns │ 1000 │ 8000
├─ 0.2 572.6 ns │ 3.031 µs │ 661.2 ns │ 661.3 ns │ 1000 │ 8000
├─ 0.3 577.9 ns │ 2.447 µs │ 666.4 ns │ 666.8 ns │ 1000 │ 8000
├─ 0.4 583.1 ns │ 1.791 µs │ 666.4 ns │ 655 ns │ 1000 │ 8000
├─ 0.5 598.6 ns │ 2.265 µs │ 687.2 ns │ 682.3 ns │ 1000 │ 8000
├─ 0.6 598.7 ns │ 2.296 µs │ 687.2 ns │ 685.9 ns │ 1000 │ 8000
├─ 0.7 614.2 ns │ 2.114 µs │ 692.5 ns │ 691.3 ns │ 1000 │ 8000
├─ 0.8 609.1 ns │ 2.171 µs │ 697.6 ns │ 688.8 ns │ 1000 │ 8000
├─ 0.9 614.2 ns │ 2.093 µs │ 697.6 ns │ 687.9 ns │ 1000 │ 8000
╰─ 0.99 609.1 ns │ 2.468 µs │ 692.4 ns │ 683.3 ns │ 1000 │ 8000
```
now:
```
expand_buffer fastest │ slowest │ median │ mean │ samples │ iters
╰─ expand_buffer │ │ │ │ │
├─ u8 │ │ │ │ │
│ ├─ (256, 0.1) 73.33 ns │ 222.4 ns │ 82.46 ns │ 81.68 ns │ 1000 │ 64000
│ ├─ (256, 0.5) 79.85 ns │ 273.8 ns │ 90.91 ns │ 89.55 ns │ 1000 │ 64000
│ ├─ (256, 0.9) 89.61 ns │ 390.4 ns │ 96.11 ns │ 98.66 ns │ 1000 │ 32000
│ ├─ (1024, 0.1) 161.2 ns │ 238 ns │ 182 ns │ 176.4 ns │ 1000 │ 32000
│ ├─ (1024, 0.5) 195 ns │ 463.3 ns │ 210.7 ns │ 215.1 ns │ 1000 │ 32000
│ ├─ (1024, 0.9) 236.7 ns │ 1.692 µs │ 247.2 ns │ 260.1 ns │ 1000 │ 16000
│ ├─ (4096, 0.1) 520.5 ns │ 1.228 µs │ 588.2 ns │ 570.5 ns │ 1000 │ 8000
│ ├─ (4096, 0.5) 702.9 ns │ 1.067 µs │ 718.5 ns │ 750.1 ns │ 1000 │ 8000
│ ├─ (4096, 0.9) 885.1 ns │ 2.546 µs │ 895.6 ns │ 930.1 ns │ 1000 │ 8000
│ ├─ (16384, 0.1) 2.041 µs │ 9.291 µs │ 2.291 µs │ 2.22 µs │ 1000 │ 2000
│ ├─ (16384, 0.5) 2.749 µs │ 10.83 µs │ 2.895 µs │ 3.002 µs │ 1000 │ 2000
│ ╰─ (16384, 0.9) 3.457 µs │ 6.332 µs │ 3.541 µs │ 3.679 µs │ 1000 │ 1000
├─ u32 │ │ │ │ │
│ ├─ (256, 0.1) 57.06 ns │ 116.6 ns │ 64.55 ns │ 63.1 ns │ 1000 │ 128000
│ ├─ (256, 0.5) 61.61 ns │ 92.21 ns │ 69.44 ns │ 67.91 ns │ 1000 │ 64000
│ ├─ (256, 0.9) 75.29 ns │ 284.2 ns │ 77.9 ns │ 81.76 ns │ 1000 │ 64000
│ ├─ (1024, 0.1) 146.9 ns │ 515.4 ns │ 165.1 ns │ 161.9 ns │ 1000 │ 32000
│ ├─ (1024, 0.5) 193.7 ns │ 292.7 ns │ 204.2 ns │ 211.2 ns │ 1000 │ 32000
│ ├─ (1024, 0.9) 239.3 ns │ 2.669 µs │ 244.5 ns │ 259.7 ns │ 1000 │ 16000
│ ├─ (4096, 0.1) 520.6 ns │ 3.687 µs │ 538.8 ns │ 570.3 ns │ 1000 │ 8000
│ ├─ (4096, 0.5) 697.5 ns │ 4.614 µs │ 728.7 ns │ 763.2 ns │ 1000 │ 4000
│ ├─ (4096, 0.9) 885 ns │ 4.624 µs │ 906 ns │ 950.2 ns │ 1000 │ 4000
│ ├─ (16384, 0.1) 2.207 µs │ 5.041 µs │ 2.479 µs │ 2.411 µs │ 1000 │ 1000
│ ├─ (16384, 0.5) 2.812 µs │ 10.49 µs │ 2.874 µs │ 2.994 µs │ 1000 │ 2000
│ ╰─ (16384, 0.9) 3.499 µs │ 40.16 µs │ 3.583 µs │ 3.765 µs │ 1000 │ 1000
╰─ u64 │ │ │ │ │
├─ (256, 0.1) 56.41 ns │ 104.9 ns │ 63.57 ns │ 62.17 ns │ 1000 │ 128000
├─ (256, 0.5) 62.91 ns │ 95.47 ns │ 71.38 ns │ 69.82 ns │ 1000 │ 64000
├─ (256, 0.9) 77.9 ns │ 230.9 ns │ 88.32 ns │ 85.89 ns │ 1000 │ 64000
├─ (1024, 0.1) 145.6 ns │ 348.7 ns │ 166.4 ns │ 161.5 ns │ 1000 │ 32000
├─ (1024, 0.5) 192.4 ns │ 291.4 ns │ 197.7 ns │ 206.2 ns │ 1000 │ 16000
├─ (1024, 0.9) 244.5 ns │ 892.9 ns │ 252.3 ns │ 267.6 ns │ 1000 │ 16000
├─ (4096, 0.1) 525.7 ns │ 2.541 µs │ 588.4 ns │ 613 ns │ 1000 │ 8000
├─ (4096, 0.5) 713.2 ns │ 2.598 µs │ 728.9 ns │ 781.7 ns │ 1000 │ 8000
├─ (4096, 0.9) 895.5 ns │ 4.593 µs │ 926.7 ns │ 987.1 ns │ 1000 │ 4000
├─ (16384, 0.1) 2.416 µs │ 9.708 µs │ 2.749 µs │ 2.75 µs │ 1000 │ 1000
├─ (16384, 0.5) 2.978 µs │ 9.291 µs │ 3.041 µs │ 3.289 µs │ 1000 │ 2000
╰─ (16384, 0.9) 3.54 µs │ 14.74 µs │ 3.624 µs │ 3.932 µs │ 1000 │ 1000
```
---------
Signed-off-by: Alexander Droste <[email protected]>expand (#5285)1 parent ecb43e5 commit 3b9f233
File tree
6 files changed
+171
-198
lines changed- vortex-buffer
- src/bit
- vortex-compute
- benches
- src/expand
6 files changed
+171
-198
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
406 | 406 | | |
407 | 407 | | |
408 | 408 | | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
409 | 470 | | |
410 | 471 | | |
411 | 472 | | |
| |||
419 | 480 | | |
420 | 481 | | |
421 | 482 | | |
| 483 | + | |
| 484 | + | |
422 | 485 | | |
423 | 486 | | |
424 | 487 | | |
| |||
488 | 551 | | |
489 | 552 | | |
490 | 553 | | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
491 | 607 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | 6 | | |
8 | 7 | | |
9 | 8 | | |
10 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
11 | 26 | | |
12 | 27 | | |
13 | 28 | | |
14 | 29 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | 30 | | |
22 | 31 | | |
23 | 32 | | |
| |||
49 | 58 | | |
50 | 59 | | |
51 | 60 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
56 | 65 | | |
57 | 66 | | |
58 | 67 | | |
59 | | - | |
| 68 | + | |
60 | 69 | | |
61 | 70 | | |
62 | 71 | | |
63 | 72 | | |
64 | | - | |
65 | | - | |
| 73 | + | |
| 74 | + | |
66 | 75 | | |
67 | 76 | | |
68 | 77 | | |
0 commit comments