
Note that your for loop uses the overflow optimization since you’re using int.
for (int i=0;i<12;i++) { c1 = block[i1]; c2 = block[i2]; if (c1 != c2) return (c1 > c2); i1++; i2++; }
Bool mainGtU ( UInt32 i1, UInt32 i2, UChar* block, UInt16* quadrant, UInt32 nblock, Int32* budget )
9f0: 0f b6 5c 11 02 movzx ebx,BYTE PTR [ecx+edx*1+0x2] 9f5: 38 5c 01 02___ cmp BYTE PTR [ecx+eax*1+0x2],bl 9f9: 75 e0_________ jne 9db <mainGtU+0x1b> 9fb: 0f b6 5c 11 03 movzx ebx,BYTE PTR [ecx+edx*1+0x3] a00: 38 5c 01 03___ cmp BYTE PTR [ecx+eax*1+0x3],bl a04: 75 d5_________ jne 9db <mainGtU+0x1b> a06: 0f b6 5c 11 04 movzx ebx,BYTE PTR [ecx+edx*1+0x4] a0b: 38 5c 01 04___ cmp BYTE PTR [ecx+eax*1+0x4],bl a0f: 75 ca_________ jne 9db <mainGtU+0x1b>
$ time find man-bz2/ -type f -name "*.bz2" -exec bzcat '{}' > /dev/null \; real 0m35.895s user 0m14.232s sys 0m14.121s $ time find man-xz/ -type f -name "*.xz" -exec xzcat '{}' > /dev/null \; real 0m44.342s user 0m16.842s sys 0m21.459s $ time find man-bz2/ -type f -name "*.bz2" -exec bzcat '{}' > /dev/null \+ real 0m10.096s user 0m9.000s sys 0m0.787s $ time find man-xz/ -type f -name "*.xz" -exec xzcat '{}' > /dev/null \+ real 0m7.846s user 0m7.108s sys 0m0.487s
# cat 10843 106984794 /usr/bin/time find . -type f -exec cat -- {} \; 2.30user 15.30system 0:18.01elapsed 97%CPU (0avgtext+0avgdata 3940maxresident)k 0inputs+0outputs (0major+1252791minor)pagefaults 0swaps /usr/bin/time find . -type f -exec cat -- {} + 0.02user 0.23system 0:00.26elapsed 95%CPU (0avgtext+0avgdata 4148maxresident)k 0inputs+0outputs (0major+1753minor)pagefaults 0swaps # bzip2 10843 33274245 /usr/bin/time find . -type f -exec bzip2 --decompress --keep --stdout -- {} \; 7.78user 16.84system 0:24.95elapsed 98%CPU (0avgtext+0avgdata 4812maxresident)k 0inputs+0outputs (0major+1500047minor)pagefaults 0swaps /usr/bin/time find . -type f -exec bzip2 --decompress --keep --stdout -- {} + 4.18user 0.34system 0:04.58elapsed 98%CPU (0avgtext+0avgdata 5528maxresident)k 0inputs+0outputs (0major+4143minor)pagefaults 0swaps # gzip 10843 35515781 /usr/bin/time find . -type f -exec gzip --decompress --keep --stdout -- {} \; 3.06user 15.55system 0:18.85elapsed 98%CPU (0avgtext+0avgdata 3904maxresident)k 0inputs+0outputs (0major+1271597minor)pagefaults 0swaps /usr/bin/time find . -type f -exec gzip --decompress --keep --stdout -- {} + 0.82user 0.20system 0:01.03elapsed 98%CPU (0avgtext+0avgdata 4104maxresident)k 0inputs+0outputs (0major+1967minor)pagefaults 0swaps # lz4 10843 45559737 /usr/bin/time find . -type f -exec lz4 --decompress --multiple --keep --stdout -- {} \; 2.20user 15.92system 0:18.36elapsed 98%CPU (0avgtext+0avgdata 3972maxresident)k 0inputs+0outputs (0major+1343780minor)pagefaults 0swaps /usr/bin/time find . -type f -exec lz4 --decompress --multiple --keep --stdout -- {} + 0.12user 0.18system 0:00.32elapsed 97%CPU (0avgtext+0avgdata 4020maxresident)k 0inputs+0outputs (0major+3585minor)pagefaults 0swaps # lzip 10843 33266051 /usr/bin/time find . -type f -exec lzip --decompress --keep --stdout -- {} \; 11.94user 19.08system 0:31.46elapsed 98%CPU (0avgtext+0avgdata 4408maxresident)k 0inputs+0outputs (0major+1940034minor)pagefaults 0swaps /usr/bin/time find . -type f -exec lzip --decompress --keep --stdout -- {} + 2.63user 0.28system 0:02.98elapsed 97%CPU (0avgtext+0avgdata 6424maxresident)k 0inputs+0outputs (0major+4827minor)pagefaults 0swaps # xz 10843 33657540 /usr/bin/time find . -type f -exec xz --decompress --keep --stdout -- {} \; 6.96user 18.46system 0:25.78elapsed 98%CPU (0avgtext+0avgdata 4208maxresident)k 0inputs+0outputs (0major+1627563minor)pagefaults 0swaps /usr/bin/time find . -type f -exec xz --decompress --keep --stdout -- {} + 2.56user 0.28system 0:02.87elapsed 99%CPU (0avgtext+0avgdata 4560maxresident)k 0inputs+0outputs (0major+2887minor)pagefaults 0swaps # zstd 10843 33395207 /usr/bin/time find . -type f -exec zstd --decompress --keep --stdout -- {} \; 3.06user 17.38system 0:20.71elapsed 98%CPU (0avgtext+0avgdata 3880maxresident)k 0inputs+0outputs (0major+1507189minor)pagefaults 0swaps /usr/bin/time find . -type f -exec zstd --decompress --keep --stdout -- {} + 0.33user 0.29system 0:00.64elapsed 97%CPU (0avgtext+0avgdata 4444maxresident)k 0inputs+0outputs (0major+4507minor)pagefaults 0swaps # zstd_dict 10843 24593403 /usr/bin/time find . -type f -exec zstd -D ../man.dict --decompress --keep --stdout -- {} \; 3.97user 18.84system 0:23.15elapsed 98%CPU (0avgtext+0avgdata 4108maxresident)k 0inputs+0outputs (0major+2135541minor)pagefaults 0swaps /usr/bin/time find . -type f -exec zstd -D ../man.dict --decompress --keep --stdout -- {} + 0.29user 0.29system 0:00.61elapsed 96%CPU (0avgtext+0avgdata 4360maxresident)k 0inputs+0outputs (0major+4708minor)pagefaults 0swaps
Leave a comment: