@@ -110,10 +110,15 @@ public static OutputStream createKanziOutputStream(OutputStream baseOutputStream
110110 // Create configuration map with proper Kanzi parameters
111111 java .util .Map <String , Object > configMap = new java .util .HashMap <>();
112112
113- // Basic compression settings
114- configMap .put ("transform" , "LZP+BWT" ); // Good for text
115- configMap .put ("entropy" , "CM" ); // Text and structured data
116- configMap .put ("blockSize" , 128 * 1024 * 1024 ); // 128MB blocks
113+ // Best compression settings (brute tested on a 1.7 GB database)
114+ // 88658331 kanzi -x64 -b 256m -t RLT+PACK+LZP -e TPAQX
115+ // 88654035 kanzi -x64 -b 256m -t RLT+PACK+LZP+RLT -e TPAQX
116+ // 85411430 kanzi -x64 -b 256m -t TEXT+RLT+LZP+PACK -e TPAQX
117+ // 85397152 kanzi -x64 -b 256m -t TEXT+RLT+LZP+PACK+RLT -e TPAQX
118+
119+ configMap .put ("transform" , "TEXT+RLT+LZP+PACK+RLT" );// Good for text
120+ configMap .put ("entropy" , "TPAQ" ); // Text and structured data
121+ configMap .put ("blockSize" , 64 * 1024 * 1024 ); // 128MB blocks
117122 configMap .put ("level" , 9 ); // Max. compression level
118123 configMap .put ("checksum" , 64 ); // Enable checksums
119124
@@ -153,6 +158,8 @@ public static InputStream createKanziInputStream(InputStream inputStream, Execut
153158 InputStream .class ,
154159 java .util .Map .class
155160 );
161+ // workaround Zero byte EOF issue
162+ // it has been fixed only recently so we should still guard for a while
156163 return new ZeroBytesEOFInputStream ( (InputStream ) constructor .newInstance (inputStream , configMap ));
157164
158165 } catch (ClassNotFoundException e ) {
0 commit comments