Commit c06149c
committed
perf: Use Arc<str> for task dependency hashes to avoid heap clones
Store task hashes as Arc<str> in TaskHashTrackerState instead of String.
In calculate_dependency_hashes, cloning an Arc<str> is a ref count bump
instead of a heap allocation. For the api monorepo (1687 tasks, ~3 deps
each), this eliminates ~5000 String heap allocations per run.1 parent 0739ca5 commit c06149c
2 files changed
+48
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| |||
338 | 338 | | |
339 | 339 | | |
340 | 340 | | |
341 | | - | |
| 341 | + | |
342 | 342 | | |
343 | 343 | | |
344 | 344 | | |
| |||
497 | 497 | | |
498 | 498 | | |
499 | 499 | | |
| 500 | + | |
| 501 | + | |
500 | 502 | | |
501 | 503 | | |
502 | 504 | | |
| |||
509 | 511 | | |
510 | 512 | | |
511 | 513 | | |
512 | | - | |
| 514 | + | |
513 | 515 | | |
514 | 516 | | |
515 | 517 | | |
| |||
528 | 530 | | |
529 | 531 | | |
530 | 532 | | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
531 | 563 | | |
532 | 564 | | |
533 | 565 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
230 | 230 | | |
231 | 231 | | |
232 | 232 | | |
233 | | - | |
| 233 | + | |
234 | 234 | | |
235 | 235 | | |
236 | 236 | | |
| |||
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
| 434 | + | |
434 | 435 | | |
435 | 436 | | |
436 | 437 | | |
437 | | - | |
| 438 | + | |
438 | 439 | | |
439 | 440 | | |
440 | 441 | | |
| |||
453 | 454 | | |
454 | 455 | | |
455 | 456 | | |
456 | | - | |
| 457 | + | |
457 | 458 | | |
458 | 459 | | |
459 | 460 | | |
460 | 461 | | |
461 | 462 | | |
462 | 463 | | |
463 | | - | |
464 | | - | |
465 | | - | |
466 | | - | |
| 464 | + | |
467 | 465 | | |
468 | 466 | | |
469 | 467 | | |
| |||
473 | 471 | | |
474 | 472 | | |
475 | 473 | | |
476 | | - | |
| 474 | + | |
477 | 475 | | |
478 | 476 | | |
479 | 477 | | |
| |||
591 | 589 | | |
592 | 590 | | |
593 | 591 | | |
594 | | - | |
| 592 | + | |
595 | 593 | | |
596 | 594 | | |
597 | 595 | | |
| |||
600 | 598 | | |
601 | 599 | | |
602 | 600 | | |
603 | | - | |
| 601 | + | |
604 | 602 | | |
605 | 603 | | |
606 | 604 | | |
| |||
664 | 662 | | |
665 | 663 | | |
666 | 664 | | |
667 | | - | |
| 665 | + | |
668 | 666 | | |
669 | 667 | | |
670 | 668 | | |
| |||
738 | 736 | | |
739 | 737 | | |
740 | 738 | | |
741 | | - | |
| 739 | + | |
742 | 740 | | |
743 | 741 | | |
744 | 742 | | |
| |||
777 | 775 | | |
778 | 776 | | |
779 | 777 | | |
780 | | - | |
| 778 | + | |
781 | 779 | | |
782 | 780 | | |
783 | 781 | | |
| |||
990 | 988 | | |
991 | 989 | | |
992 | 990 | | |
993 | | - | |
| 991 | + | |
994 | 992 | | |
995 | 993 | | |
996 | 994 | | |
| |||
0 commit comments