The following test shows what happens when the 32 bit MinGW g++ compiler version 4.4.0 is backed up, followed by version 4.5.0, which has many files (40% of total size) in common, and then both directories are extracted. Times are in real seconds, with CPU seconds shown if the program is limited by disk speed. Programs are classified as free, open source, and whether there is a specification describing the format. Last updated Jan. 13, 2014 by Matt Mahoney (author of zpaq).
Archiver Create mingw44 Time Add mingw45 Time Extract (CPU) Free Open Spec ------- -------------- ----- ----------- ---- ------- ----- ---- ---- ---- uncompressed 116,655,760 276,348,369 tar -r (Win32) 117,841,920 1.7 278,814,720 2.9 17.7 7.7 Yes Yes Yes (Linux) 117,903,360 0.13 278,927,360 0.20 0.30 exdupe -x0 (Linux) 108,398,608 2.6 255,797,938 2.6 2.5 0.5 Yes Yes No exdupe -x1 60,591,141 2.7 153,669,779 2.7 2.1 1.3 exdupe -x2 54,722,069 4.2 140,538,675 4.8 3.3 1.6 exdupe -x3 50,307,903 14.7 131,248,915 18.8 13.8 13.7 zip (Win32) 54,704,677 14.8 140,666,060 19.3 20.0 11.1 Yes Yes Yes zip -9 54,479,404 23.4 140,178,119 29.3 19.0 11.4 zip (Linux) 54,587,804 5.0 140,418,752 6.7 2.6 2.0 zip -9 54,362,531 9.5 139,930,811 12.1 2.4 1.9 rar (Win32) 49,766,504 30.3 129,667,053 43.9 37.9 9.3 No UnRAR No rar -s 41,892,363 28.8 112,591,881 42.9 32.8 9.3 rar -s -m5 41,796,989 35.6 112,379,699 51.8 31.8 8.6 rar -ma5 49,622,311 29.6 128,072,934 44.9 38.9 11.0 rar -s -ma5 39,353,664 33.3 80,580,793 51.8 31.8 8.6 rar -s -m5 -ma5 39,247,216 44.6 80,323,216 58.2 33.1 9.0 7zip (Win32) 38,517,699 54.5 105,112,527 74.1 40.8 12.1 Yes Yes No 7zip -mx 37,372,117 60.1 76,420,114 83.3 31.1 11.8 7zip (Linux) 38,688,771 32.5 105,709,753 44.1 8.5 8.0 7zip -mx 37,796,121 39.7 77,478,904 54.9 6.5 6.0 arc -m1 (Win32) 47,532,588 3.1 93,410,320 7.0 21.5 10.8 Yes Yes No arc -m2 41,709,395 5.4 85,154,022 14.3 28.1 15.7 arc -m3 40,758,956 8.8 82,910,637 25.0 29.3 16.6 arc -m4 39,959,885 18.0 81,110,925 43.1 30.4 18.9 arc -m5 37,276,959 56.4 73,346,814 118.2 37.8 21.0 arc -m7 37,005,360 57.9 72,251,977 126.5 39.2 23.3 arc -m9 37,004,608 60.7 71,272,360 154.0 38.2 22.6 arc -m9x 37,406,338 69.9 72,041,614 182.2 33.6 17.4 zcm -r (Win32)46,176,811 277.1 121,883,071 352.8 291.7 Yes No No zcm -r -m6 -t2 -s 38,327,556 62.2 91,216,921 79.2 153.8 zcm -r -m6 -t1 -s 36,182,872 63.0 73,986,771 83.4 154.0 zcm -r -m7 -t1 -s 36,118,689 66.3 73,852,323 85.7 158.5 zpaq -method 1 (Win32)45,305,803 7.3 92,000,762 7.9 23.5 11.8 Yes Yes Yes zpaq -method 2 44,195,429 13.9 89,301,298 13.5 18.4 12.1 zpaq -method 3 41,571,855 30.5 84,131,120 31.6 31.2 zpaq -method 4 41,052,459 76.7 83,271,970 78.4 75.6 zpaq -method 5 37,410,114 150.6 75,589,873 158.2 325.6 zpaq -method 6 36,029,372 536.8 72,695,240 563.7 1080.8 zpaq -method 1 (Linux)45,305,217 3.1 92,000,137 3.6 4.2 zpaq -method 2 44,194,843 5.6 89,300,673 6.0 4.5 zpaq -method 3 41,571,269 18.3 84,130,495 18.9 16.5 zpaq -method 4 41,051,873 43.6 83,271,345 45.4 33.2 zpaq -method 5 37,409,528 88.9 75,589,248 92.4 149.1 zpaq -method 6 36,028,786 299.1 72,694,615 311.6 518.7
The test data (88 MB, compressed with zpaq -method 2) consists of two directories:
tar and zip are single threaded. Other programs are multi-threaded and use all available cores.
Archiver Create mingw44 Time Add mingw45 Time Extract (CPU) ------- -------------- ----- ----------- ---- ------- ----- zpaq v6.26-6.28 zpaq -method 1 (win32)46,156,823 6.6 93,587,997 9.5 21.5 11.8 zpaq -method 2 42,800,065 15.1 86,537,822 22.5 32.0 zpaq -method 3 40,921,225 46.0 83,097,275 47.7 74.3 zpaq -method 4 37,728,233 145.7 76,693,484 152.6 275.1 zpaq -method 5 36,393,788 572.5 73,505,007 570.7 1126.1 zpaq -method 1 (Linux)46,156,912 3.0 93,588,793 4.1 2.8 zpaq -method 2 42,800,154 5.8 86,538,618 9.0 9.3 zpaq -method 3 40,921,314 20.3 83,098,071 21.1 38.4 zpaq -method 4 37,728,322 68.5 76,694,280 71.2 138.8 zpaq -method 5 36,393,877 268.5 73,505,803 281.8 512.7 zpaq -method 6 35,861,071 281.7 72,647,140 326.8 528.5 zpaq -method 7 35,829,691 467.2 72,339,570 493.0 570.7 zpaq v6.29 Jun 6 2013 zpaq -method 1 (Win32)45,568,412 6.9 92,366,428 10.0 26.4 11.6 zpaq -method 2 42,333,871 14.3 85,573,257 21.5 28.4 zpaq -method 3 40,929,415 45.4 83,103,562 46.9 74.2 zpaq -method 4 37,737,177 139.1 76,713,352 144.9 270.5 zpaq -method 5 36,274,342 580.4 73,373,372 560.2 1195.5 zpaq -method 1 (Linux)45,568,547 3.3 92,367,332 4.9 3.4 zpaq -method 2 42,334,006 6.2 85,574,161 10.2 10.2 zpaq -method 3 40,929,550 19.6 83,104,466 20.6 39.2 zpaq -method 4 37,737,312 68.3 76,714,256 71.5 146.9 zpaq -method 5 36,274,477 265.2 73,374,276 260.6 526.9 zpaq -method 6 35,861,111 283.8 72,526,179 326.2 537.6 zpaq -method 7 35,746,626 467.3 72,079,042 490.7 569.5 zpaq v6.33 Jun 20 2013 zpaq -method 1 (Win32)45,495,244 7.3 92,414,202 7.4 27.1 11.2 zpaq -method 2 44,276,424 11.0 89,727,760 12.8 27.2 11.3 zpaq -method 3 41,694,873 16.0 84,880,421 22.6 26.3 zpaq -method 4 40,443,535 47.0 82,380,065 49.2 71.6 zpaq -method 5 40,341,255 55.8 81,945,053 67.8 65.1 zpaq -method 1 (Linux)45,495,398 3.2 92,415,139 4.0 2.6 zpaq -method 17 44,873,640 10.9 90,939,362 11.7 4.2 zpaq -method 2 44,276,578 4.1 89,728,697 5.5 2.6 zpaq -method 27 43,702,035 19.2 88,420,120 20.3 4.1 zpaq -method 3 41,695,027 7.1 84,881,358 13.8 13.1 zpaq -method 37 41,637,063 23.7 84,217,202 24.8 19.7 zpaq -method 4 40,443,689 19.7 82,381,001 20.8 39.0 zpaq -method 47 42,612,134 41.7 85,791,127 45.1 61.1 zpaq -method 5 40,341,409 24.4 81,945,990 29.4 34.1 zpaq -method 57 41,637,063 63.9 84,217,202 67.4 21.3 zpaq -method 6 37,730,480 54.5 76,484,697 64.3 109.3 zpaq -method 67 37,183,272 153.3 74,972,278 150.0 180.6 zpaq -method 7 36,318,981 248.1 73,537,989 265.2 516.6 zpaq -method 77 35,749,161 503.1 72,081,603 485.5 587.6 zpaq v6.33 Jun 20 2013 zpaq -method 1 (Win32)45,495,244 7.3 92,414,202 7.4 27.1 11.2 zpaq -method 2 44,276,424 11.0 89,727,760 12.8 27.2 11.3 zpaq -method 3 41,694,873 16.0 84,880,421 22.6 26.3 zpaq -method 4 40,443,535 47.0 82,380,065 49.2 71.6 zpaq -method 5 40,341,255 55.8 81,945,053 67.8 65.1 zpaq -method 1 (Linux)45,495,398 3.2 92,415,139 4.0 2.6 zpaq -method 2 44,276,578 4.1 89,728,697 5.5 2.6 zpaq -method 3 41,695,027 7.1 84,881,358 13.8 13.1 zpaq -method 4 40,443,689 19.7 82,381,001 20.8 39.0 zpaq -method 5 40,341,409 24.4 81,945,990 29.4 34.1 zpaq -method 6 37,730,480 54.5 76,484,697 64.3 109.3 zpaq -method 7 36,318,981 248.1 73,537,989 265.2 516.6 zpaq v6.34 Jun 25 2013 zpaq -method 1 (Win32)45,507,827 7.5 92,432,625 7.8 21.5 11.6 zpaq -method 16 45,213,159 10.6 91,299,009 14.3 12.5 11.9 zpaq -method 2 43,926,639 16.4 88,606,748 29.3 12.3 11.4 zpaq -method 3 41,394,749 23.2 83,956,977 32.4 28.0 zpaq -method 4 40,523,675 80.3 82,627,602 83.8 70.7 zpaq -method 5 37,328,909 242.6 75,449,812 244.6 267.2 zpaq -method 6 35,879,367 639.2 72,543,740 598.0 1084.5 zpaq -method 1 (Linux)45,507,929 3.2 92,433,449 3.7 3.3 zpaq -method 16 45,438,125 4.9 91,825,677 8.8 3.4 zpaq -method 2 43,926,741 6.7 88,607,572 16.3 3.1 zpaq -method 3 41,394,851 10.5 83,957,801 18.3 14.6 zpaq -method 4 40,523,777 33.3 82,628,426 45.7 37.6 zpaq -method 5 37,329,011 104.6 75,450,636 141.2 143.3 zpaq -method 6 35,879,469 294.8 72,544,564 324.5 520.7 zpaq v6.35 Jun 28 2013 zpaq -method 1 (Win32)45,479,746 8.0 92,360,106 8.2 19.7 11.6 zpaq -method 2 43,852,334 17.3 88,446,849 29.3 13.3 11.8 zpaq -method 3 41,392,829 24.5 83,949,165 31.9 28.8 zpaq -method 4 40,525,432 79.6 82,627,406 81.2 69.5 zpaq -method 5 37,330,666 243.3 75,452,321 247.5 275.5 zpaq -method 1 (Linux)45,479,890 3.2 92,361,050 3.9 2.6 zpaq -method 2 43,852,478 7.1 88,447,793 17.4 3.0 zpaq -method 3 41,392,973 10.9 83,950,109 18.4 14.6 zpaq -method 4 40,525,576 34.5 82,628,350 46.9 37.5 zpaq -method 5 37,330,810 106.9 75,453,265 143.7 141.3 zpaq -method 6 35,880,227 311.9 72,546,152 325.4 524.6 zpaq v6.36 Jul 5 2013 zpaq -method 1 (Win32)45,322,037 7.8 92,032,886 8.2 30.0 11.9 zpaq -method 2 44,400,042 14.2 89,525,406 18.6 17.7 11.5 zpaq -method 3 41,324,346 25.1 83,824,595 32.3 27.9 zpaq -method 4 40,523,815 79.8 82,586,326 84.0 72.8 zpaq -method 5 37,329,049 241.3 75,450,744 241.4 289.0 zpaq -method 1 (Linux)45,322,183 3.3 92,033,818 3.9 2.4 zpaq -method 2 44,400,188 5.6 89,526,338 7.6 2.6 zpaq -method 3 41,324,492 11.5 83,825,527 18.6 14.2 zpaq -method 4 40,523,961 34.1 82,587,258 46.3 36.7 zpaq -method 5 37,329,195 105.9 75,451,676 144.3 134.6 zpaq -method 6 35,877,968 288.6 72,541,875 326.7 528.1 zpaq v6.38 Jul 18 2013 zpaq -method 1 (Win32)45,321,960 8.2 92,032,731 8.0 20.8 11.7 zpaq -method 2 44,400,007 14.1 89,525,336 18.3 17.6 11.8 zpaq -method 3 41,324,314 25.2 83,824,539 32.1 28.7 zpaq -method 4 40,523,782 79.1 82,586,268 82.6 69.8 zpaq v6.41 Aug 2 2013 zpaq -method 1 (Win32)45,321,960 7.3 92,032,731 8.2 30.3 11.7 zpaq -method 2 44,400,007 13.9 89,525,336 18.1 21.5 11.5 zpaq -method 3 41,324,314 24.7 83,824,539 31.4 27.4 zpaq -method 4 40,523,782 79.7 82,586,268 82.4 70.4 zpaq -method 1 (Linux)45,322,106 3.3 92,033,663 3.9 2.5 zpaq -method 2 44,400,153 5.5 89,526,268 7.5 2.6 zpaq -method 3 41,324,460 11.3 83,825,471 18.7 14.5 zpaq -method 4 40,523,928 34.5 82,587,200 46.4 37.5 zpaq -method 5 37,329,163 105.9 75,451,622 144.5 149.0 zpaq -method 6 35,877,938 303.0 72,541,825 325.3 532.0 zpaq v6.44 Jan 9 2014 zpaq -method 1 (Win32)45,321,960 8.1 92,032,731 8.7 27.9 12.6 zpaq -method 2 44,400,007 13.8 89,525,336 18.6 21.4 12.4 zpaq -method 3 41,324,314 24.6 83,824,539 31.8 28.4 zpaq -method 4 40,523,782 79.9 82,586,268 80.8 72.3 zpaq -method 1 (Linux)45,321,394 3.1 92,032,067 3.6 5.8 zpaq -method 2 44,399,441 5.3 89,524,672 7.4 5.0 zpaq -method 3 41,323,748 11.6 83,823,875 18.8 13.5 zpaq -method 4 40,523,216 33.9 82,585,604 46.4 34.8 zpaq -method 5 37,328,451 75.2 75,450,026 95.3 144.2 zpaq -method 6 35,877,226 308.2 72,540,229 322.9 531.4 zpaq v6.45 Jan 12 2014 zpaq -method 1 (Win32)45,305,803 7.3 92,000,762 7.9 23.5 11.8 zpaq -method 2 44,195,429 13.9 89,301,298 13.5 18.4 12.1 zpaq -method 3 41,571,855 30.5 84,131,120 31.6 31.2 zpaq -method 4 41,052,459 76.7 83,271,970 78.4 75.6 zpaq -method 5 37,410,114 150.6 75,589,873 158.2 325.6 zpaq -method 6 36,029,372 536.8 72,695,240 563.7 1080.8 zpaq -method 1 (Linux)45,305,217 3.1 92,000,137 3.6 4.2 zpaq -method 2 44,194,843 5.6 89,300,673 6.0 4.5 zpaq -method 3 41,571,269 18.3 84,130,495 18.9 16.5 zpaq -method 4 41,051,873 43.6 83,271,345 45.4 33.2 zpaq -method 5 37,409,528 88.9 75,589,248 92.4 149.1 zpaq -method 6 36,028,786 299.1 72,694,615 311.6 518.7 Nanozip 0.09 does not support update of existing archives. Results are shown for compressing both directories together. nz -cf (Win32) 53,923,985 1.5 132,731,778 3.9 22.1 7.0 Yes No No nz -cd 42,954,791 3.9 82,506,506 7.8 21.3 6.9 nz -co 37,653,519 66.0 73,259,856 115.6 39.5 nz -cc 35,089,232 332.5 68,373,452 815.3 777.7 nz -cf (Linux) 132,734,286 1.4 2.5 nz -m3.5g -cf 132,734,714 1.3 1.4 nz -cF 90,646,897 1.9 2.0 nz -m3.5g -cF 90,646,570 1.9 1.9 nz -cd 82,505,268 3.9 1.1 nz -m3.5g -cd 82,505,524 3.8 1.0 nz -cdp 79,212,425 8.4 1.2 nz -m3.5g -cdp 79,212,436 8.4 1.8 nz -cdP 78,470,838 9.4 1.2 nz -m3.5g -cdP 78,470,838 9.5 1.2 nz -cD 79,093,418 8.8 1.3 nz -m3.5g -cD 79,093,249 8.8 1.5 nz -cDp 77,175,812 17.5 1.5 nz -m3.5g -cDp 77,175,791 17.8 1.5 nz -cDP 76,279,837 16.9 1.5 nz -m3.5g -cDP 76,279,837 16.8 1.5 nz -co 73,263,227 59.2 16.6 nz -m3.5g -co 72,565,375 76.9 21.0 nz -cO 69,391,570 162.6 51.8 nz -m3.5g -cO 69,284,756 170.3 50.7 nz -cc 68,377,052 433.8 421.6 nz -m3.5g -cc 68,027,938 486.4 472.2