adb: implement LZ4 compression.
Add support for LZ4 compression, which compresses and decompresses far
more quickly than brotli, at the cost of worse compression ratio.
`adb sync -d system` speeds (in MB/s) on aosp_blueline-eng:
none brotli lz4
USB 3.0 120 110 190
USB 2.0 38 75 63
Bug: https://issuetracker.google.com/150827486
Test: python3 -m unittest test_device.FileOperationsTest{Uncompressed,Brotli,LZ4}
Change-Id: Ibef6ac15a76b4e5dcd02d7fb9433cbb1c02b8382
diff --git a/adb/client/commandline.cpp b/adb/client/commandline.cpp
index 9078ae9..02f6e9c 100644
--- a/adb/client/commandline.cpp
+++ b/adb/client/commandline.cpp
@@ -1331,6 +1331,8 @@
if (str == "brotli") {
return CompressionType::Brotli;
+ } else if (str == "lz4") {
+ return CompressionType::LZ4;
}
error_exit("unexpected compression type %s", str.c_str());