Was genau ist DEFAULT_COMPRESSION?

8

Von den möglichen DEFLATE-Komprimierungsstufen [0 .. 9], denen genau Java Deflater.DEFAULT_COMPRESSION entspricht? Im Java-Quellcode sehe ich es als public static final int DEFAULT_COMPRESSION = -1;

    
kolistivra 10.05.2013, 15:21
quelle

2 Antworten

7

Z_DEFAULT_COMPRESSION soll ein guter Kompromiss zwischen Geschwindigkeit und Kompressionseffektivität sein. Es ist das Knie in der Kurve. Die tatsächliche Stufe, der sie derzeit entspricht (6), ist eine interne Wahl, die sich in zukünftigen Versionen ändern könnte, wenn sich der Komprimierungsalgorithmus ändert. Du solltest also nicht davon abhängig sein, dass es Level 6 entspricht.

    
Mark Adler 10.05.2013, 15:56
quelle
9

Der Java-Code verwendet die Klasse new ZStreamRef(init(level, DEFAULT_STRATEGY, nowrap)); Die init-Methode ist ein systemeigener Aufruf und der ZStreamRef ist ein Verweis auf zlib . Also was immer zlib als Standard verwendet. In der Version 1.2.8 ist der Standardwert 6 wie devnull angegeben.

Aus dem zlib-Handbuch

%Vor%     
mszalbach 10.05.2013 15:32
quelle

Tags und Links