I've run a bunch of compressors on the full set of APK's to simulate transmission. That is, compress a whole APK as is (don't unpack the deflate data), compress each APK individually.

(this is testing using Oodle for transmission of existing APKs that still use deflate)

This test is run on Windows x64 (Core i7-3770 3.4 GHz) :

-------------------------------------------------------
Oodle : (-z6)


total : ooKraken    : 5,068,989,207 ->3,863,018,775 =  6.097 bpb =  1.312 to 1
total : encode           : 2047.272 seconds, 1.37 kc/b, rate= 2.48 mb/s
total : decode           : 1.791 seconds, 1.20 c/b, rate= 2830.61 mb/s


total : ootp2Kraken : 5,068,989,207 ->3,863,018,775 =  6.097 bpb =  1.312 to 1
total : encode           : 2052.692 seconds, 1.38 kc/b, rate= 2.47 mb/s
total : decode           : 1.354 seconds, 0.91 c/b, rate= 3744.39 mb/s


total : ooMermaid   : 5,068,989,207 ->3,912,761,405 =  6.175 bpb =  1.296 to 1
total : encode           : 2257.028 seconds, 1.52 kc/b, rate= 2.25 mb/s
total : decode           : 1.164 seconds, 0.78 c/b, rate= 4355.97 mb/s


total : ooLZNA      : 5,068,989,207 ->3,839,571,495 =  6.060 bpb =  1.320 to 1
total : encode           : 2352.403 seconds, 1.58 kc/b, rate= 2.15 mb/s
total : decode           : 24.054 seconds, 16.15 c/b, rate= 210.73 mb/s


Other :


total : lzma9       : 5,068,989,207 ->3,856,687,773 =  6.087 bpb =  1.314 to 1
total : encode           : 1482.157 seconds, 995.03 c/b, rate= 3.42 mb/s
total : decode           : 231.274 seconds, 155.26 c/b, rate= 21.92 mb/s


total : zlib9       : 5,068,989,207 ->4,027,057,035 =  6.356 bpb =  1.259 to 1
total : encode           : 407.189 seconds, 273.36 c/b, rate= 12.45 mb/s
total : decode           : 10.414 seconds, 6.99 c/b, rate= 486.73 mb/s
-------------------------------------------------------


by ratio:
ooLZNA      :  1.32:1 ,    2.2 enc mbps ,  210.7 dec mbps
lzma9       :  1.31:1 ,    3.4 enc mbps ,   21.9 dec mbps
ooKraken    :  1.31:1 ,    2.5 enc mbps , 2830.6 dec mbps
ootp2Kraken :  1.31:1 ,    2.5 enc mbps , 3744.4 dec mbps
ooMermaid   :  1.30:1 ,    2.2 enc mbps , 4356.0 dec mbps
zlib9       :  1.26:1 ,   12.4 enc mbps ,  486.7 dec mbps


by encode speed:
zlib9       :  1.26:1 ,   12.4 enc mbps ,  486.7 dec mbps
lzma9       :  1.31:1 ,    3.4 enc mbps ,   21.9 dec mbps
ooKraken    :  1.31:1 ,    2.5 enc mbps , 2830.6 dec mbps
ootp2Kraken :  1.31:1 ,    2.5 enc mbps , 3744.4 dec mbps
ooMermaid   :  1.30:1 ,    2.2 enc mbps , 4356.0 dec mbps
ooLZNA      :  1.32:1 ,    2.2 enc mbps ,  210.7 dec mbps


by decode speed:
ooMermaid   :  1.30:1 ,    2.2 enc mbps , 4356.0 dec mbps
ootp2Kraken :  1.31:1 ,    2.5 enc mbps , 3744.4 dec mbps
ooKraken    :  1.31:1 ,    2.5 enc mbps , 2830.6 dec mbps
zlib9       :  1.26:1 ,   12.4 enc mbps ,  486.7 dec mbps
ooLZNA      :  1.32:1 ,    2.2 enc mbps ,  210.7 dec mbps
lzma9       :  1.31:1 ,    3.4 enc mbps ,   21.9 dec mbps
-------------------------------------------------------
I haven't run speed for brotli, but these are the sizes :
brotli 9  -> 3,878,923,573 bytes
brotli 11 -> 3,840,240,777 bytes
"tp2" means Kraken using two threads to decode; everything else is single threaded.


Conclusion :

The Oodle codecs provide a massive decode speed increase over all comparable alternatives.

The compressed sizes of all the non-zlib compressors are extremely close. The difference between the best (LZNA at 3,839,571,495) and the worst (Mermaid at 3,912,761,405) is only 1.9% ; the size reduction vs zlib is around 4%

The decode speed differences are massive. The ratio of the worst (lzma at 22 MB/s) to the best (Mermaid at 4356 MB/s) is almost 200X

For example, Kraken vs lzma :


total : ooKraken    : 5,068,989,207 ->3,863,018,775 =  6.097 bpb =  1.312 to 1
total : decode           : 1.791 seconds, 1.20 c/b, rate= 2830.61 mb/s


total : lzma9       : 5,068,989,207 ->3,856,687,773 =  6.087 bpb =  1.314 to 1
total : decode           : 231.274 seconds, 155.26 c/b, rate= 21.92 mb/s

On this data set, Oodle is benefiting from a very simple feature which all Oodle codecs have and none of the others seem to. Oodle detects incompressible pre-compressed data and passes it through untouched. This allows it to automatically find the already-deflated chunks in the APK files and spend no time on them.

For example, Oodle LZNA is typically 2-4X faster than 7z/lzma, but on this data it's 10X faster due to finding pass-through chunks.

Kraken & Mermaid have an enhanced version of this feature, in which they make space-speed tradeoff decisions on every block, and are therefore able to gain even more speed without sacrificing much compression.

Of course these are Windows numbers and what we care about is ARM/Android. I'll run a few APK's on Android (not the full set) for completeness, but I can't imagine the conclusion changing. The Oodle decoders just have a huge edge on this type of data.