Wie kann ich die Größe meiner JavaScript-Datei nach dem Komprimieren schätzen? Gibt es dafür Online-Tools? Oder ähnelt es beispielsweise der Verwendung von winzip?
Wie kann ich die Größe meiner JavaScript-Datei nach dem Komprimieren schätzen? Gibt es dafür Online-Tools? Oder ähnelt es beispielsweise der Verwendung von winzip?
Antworten:
Mit http://closure-compiler.appspot.com/home können Sie Code einfügen und die Komprimierungsraten für eine bestimmte Datei vor und nach GZIP ermitteln.
Original Size: 90 bytes (100 bytes gzipped)
Compiled Size: 55 bytes (68 bytes gzipped)
Saved 38.89% off the original size (32.00% off the gzipped size)
Sie können die Optionen "Nur hübsch drucken" und "Nur Leerzeichen" verwenden, um die Komprimierung von nicht minimierten Inhalten abzuschätzen.
Wenn Sie einen Kostenvoranschlag benötigen:
gzip -c "$f" | wc -c
undwc -c "$f"
Cygwin enthält Befehlszeilenimplementierungen von gzip
und wc
für Windows.
Wenn Sie unter Unix arbeiten gzip -c filename.min.js | wc -c
, erhalten Sie eine Byteanzahl der komprimierten Datei
gunzip -c myfile | wc -c
oderzcat myfile | wc -c
cat filename.js | wc -c
.
Direkt vom Terminal,
gzip -9 -c path/to/file.js | wc -c | numfmt --to=iec-i --suffix=B --padding=10
Wenn Sie die Originalgröße für Comprison benötigen,
cat path/to/file.js | wc -c | numfmt --to=iec-i --suffix=B --padding=10
Um es programmgesteuert zu bekommen, gibt es Dienstprogramme wie gzip-size . Es ist ein Knotenpaket, aber Sie können es global als allgemeines Tool installieren.
Ich benutze dies oft, um Dateigrößen zu approximieren und zu vergleichen.
Suchen Sie beim Erstellen eines Archivs nach Archive Format
und gzip
ist die dritte Option.
In den Kommentaren haben wir diskutiert, dass es einen Unterschied zwischen der GZIP-Komprimierung von 7-zip und der GZIP-Komprimierung eines tatsächlichen Servers geben kann. Also habe ich nur die Homepage von http://www.google.com/ verwendet .
Die GZIP-Nutzlast von Google betrug 36.678 Byte. 7-zip mit der Einstellung "gzip Normal" war 35.559 (3% kleiner). Mit der Einstellung "gzip Fastest" waren es 37.673 (3% größer).
Kurz gesagt: 7-zip hatte Ergebnisse, die zu 97% genau waren .
http://refresh-sf.com/ gibt Ihnen Minimierung und GZIP-Verhältnisse und Größen.
Mit Node Core können Sie die Länge des puffers zlib.gzip verwenden, um die Größe von gzip zu bestimmen:
const fs = require('fs');
const util = require('util');
const zlib = require('zlib');
const readFile = util.promisify(fs.readFile);
const gzip = util.promisify(zlib.gzip);
const getGzipSize = filePath => readFile(filePath)
.then(gzip)
.then(x => x.length);
Wenn Sie unkomprimierte, komprimierte und brotlierte Dateigrößen für den gesamten Ordner vergleichen möchten : (vorausgesetzt, Sie möchten filtern *.js
):
for file in *.js; do printf "$file\t$(cat $file | wc -c)\t$(gzip -kc7 $file | wc -c)\t$(brotli --in $file --out temp.br --force --quality 11 && cat temp.br | wc -c)\n"; done | tee filesizes.log
Beispielausgabe (durch Tabulatoren getrennt, damit Sie sie in eine Tabelle kopieren können):
foo.js 39035 10150 8982
bar.js 217000 68978 56337
filesizes.log
. Kommas zur Ausgabe hinzugefügt, um die Lesbarkeit zu verbessern. Gzip-Komprimierungsstufe auf 9 erhöht, um der bereits ausgereiften Brotli-Komprimierungsstufe von 11 zu entsprechen.for file in *.js; do printf "$file\t$(cat $file | wc -c | xargs printf "%'d\n")\t$(gzip -9c $file | wc -c | xargs printf "%'d\n")\t$(brotli -cZ $file | wc -c | xargs printf "%'d\n")\n"; done | tee
Sie können gzip
sich unter Windows über Gow (Gnu unter Windows) installieren .