Commit fe1f34f
committed
Low-latency closure copy
This adds a new store operation 'addMultipleToStore' that reads a
number of NARs and ValidPathInfos from a Source, allowing any number
of store paths to be copied in a single call. This is much faster on
high-latency links when copying a lot of small files, like .drv
closures.
For example, on a connection with an 50 ms delay:
Before:
$ nix copy --to 'unix:///tmp/proxy-socket?root=/tmp/dest-chroot' \
/nix/store/90jjw94xiyg5drj70whm9yll6xjj0ca9-hello-2.10.drv \
--derivation --no-check-sigs
real 0m57.868s
user 0m0.103s
sys 0m0.056s
After:
real 0m0.690s
user 0m0.017s
sys 0m0.011s1 parent 9957315 commit fe1f34f
File tree
8 files changed
+161
-89
lines changed- src/libstore
8 files changed
+161
-89
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
243 | 243 | | |
244 | 244 | | |
245 | 245 | | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | 246 | | |
264 | 247 | | |
265 | 248 | | |
| |||
422 | 405 | | |
423 | 406 | | |
424 | 407 | | |
425 | | - | |
426 | | - | |
427 | | - | |
| 408 | + | |
428 | 409 | | |
429 | 410 | | |
430 | 411 | | |
| |||
471 | 452 | | |
472 | 453 | | |
473 | 454 | | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
474 | 470 | | |
475 | 471 | | |
476 | 472 | | |
| |||
505 | 501 | | |
506 | 502 | | |
507 | 503 | | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | 504 | | |
520 | 505 | | |
521 | 506 | | |
| |||
781 | 766 | | |
782 | 767 | | |
783 | 768 | | |
784 | | - | |
| 769 | + | |
785 | 770 | | |
786 | 771 | | |
787 | 772 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
108 | 113 | | |
109 | 114 | | |
110 | 115 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
386 | 386 | | |
387 | 387 | | |
388 | 388 | | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | 389 | | |
407 | 390 | | |
408 | 391 | | |
| |||
423 | 406 | | |
424 | 407 | | |
425 | 408 | | |
426 | | - | |
| 409 | + | |
| 410 | + | |
427 | 411 | | |
428 | 412 | | |
429 | 413 | | |
| |||
525 | 509 | | |
526 | 510 | | |
527 | 511 | | |
528 | | - | |
529 | | - | |
| 512 | + | |
| 513 | + | |
530 | 514 | | |
531 | 515 | | |
532 | 516 | | |
| |||
642 | 626 | | |
643 | 627 | | |
644 | 628 | | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
645 | 648 | | |
646 | 649 | | |
647 | 650 | | |
| |||
885 | 888 | | |
886 | 889 | | |
887 | 890 | | |
888 | | - | |
889 | | - | |
890 | | - | |
891 | | - | |
892 | | - | |
893 | | - | |
894 | | - | |
895 | | - | |
896 | | - | |
897 | | - | |
898 | 891 | | |
899 | 892 | | |
900 | 893 | | |
| |||
1021 | 1014 | | |
1022 | 1015 | | |
1023 | 1016 | | |
1024 | | - | |
| 1017 | + | |
1025 | 1018 | | |
1026 | 1019 | | |
1027 | 1020 | | |
1028 | 1021 | | |
1029 | 1022 | | |
1030 | | - | |
1031 | | - | |
| 1023 | + | |
| 1024 | + | |
1032 | 1025 | | |
1033 | 1026 | | |
1034 | 1027 | | |
| |||
1061 | 1054 | | |
1062 | 1055 | | |
1063 | 1056 | | |
1064 | | - | |
1065 | 1057 | | |
1066 | 1058 | | |
1067 | 1059 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
81 | 86 | | |
82 | 87 | | |
83 | 88 | | |
| |||
112 | 117 | | |
113 | 118 | | |
114 | 119 | | |
115 | | - | |
116 | | - | |
117 | 120 | | |
118 | 121 | | |
119 | 122 | | |
| |||
153 | 156 | | |
154 | 157 | | |
155 | 158 | | |
156 | | - | |
157 | | - | |
158 | 159 | | |
159 | 160 | | |
160 | 161 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
253 | 267 | | |
254 | 268 | | |
255 | 269 | | |
| |||
771 | 785 | | |
772 | 786 | | |
773 | 787 | | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
774 | 801 | | |
775 | 802 | | |
776 | 803 | | |
| |||
780 | 807 | | |
781 | 808 | | |
782 | 809 | | |
783 | | - | |
| 810 | + | |
784 | 811 | | |
785 | | - | |
786 | | - | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | | - | |
| 812 | + | |
| 813 | + | |
791 | 814 | | |
792 | 815 | | |
793 | 816 | | |
| |||
896 | 919 | | |
897 | 920 | | |
898 | 921 | | |
899 | | - | |
900 | | - | |
901 | | - | |
902 | | - | |
903 | | - | |
904 | | - | |
905 | | - | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
906 | 941 | | |
907 | | - | |
908 | | - | |
| 942 | + | |
909 | 943 | | |
910 | | - | |
| 944 | + | |
911 | 945 | | |
| 946 | + | |
912 | 947 | | |
913 | 948 | | |
914 | 949 | | |
| |||
986 | 1021 | | |
987 | 1022 | | |
988 | 1023 | | |
| 1024 | + | |
| 1025 | + | |
989 | 1026 | | |
990 | 1027 | | |
991 | 1028 | | |
| |||
0 commit comments