JavaScriptファイルをgzip圧縮した後、どのように見積もることができますか?このためのオンラインツールはありますか?または、たとえばwinzipを使用するのと似ていますか?
http://closure-compiler.appspot.com/home では、コードを貼り付けることができ、GZIPの前後の特定のファイルの圧縮率が得られます。
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)
プリティプリントおよび空白のみのオプションを使用して、縮小されていないコンテンツの圧縮を推定できます。
見積もりが必要な場合:
gzip -c "$f" | wc -c
とwc -c "$f"
の間のサイズの比率を計算しますCygwin には、Windows用のgzip
およびwc
のコマンドライン実装が含まれています。
UNIXを使用している場合-gzip -c filename.min.js | wc -c
は、gzip圧縮されたファイルのバイト数を示します
私はこれをファイルサイズの概算と比較によく使用します。
アーカイブを作成するときは、Archive Format
、およびgzip
は3番目のオプションです。
コメントでは、7-ZipのGZIP圧縮と実際のサーバーのGZIP圧縮には違いがある可能性があることを説明しました。そこで、私は http://www.google.com/ のホームページだけを使用して比較しました。
GoogleのGZIPされたペイロードは36,678バイトでした。 「gzip Normal」設定の7-Zipは35,559(3%小さい)でした。 「gzip Fastest」設定では、37,673(3%大きく)でした。
つまり、長い話:7-Zipの結果は約97%正確でした。
ターミナルから直接、
gzip -9 -c path/to/file.js | wc -c | numfmt --to=iec-i --suffix=B --padding=10
刑務所に元のサイズが必要な場合は、
cat path/to/file.js | wc -c | numfmt --to=iec-i --suffix=B --padding=10
プログラムで取得するには、 gzip-size のようなユーティリティがあります。これはノードパッケージですが、一般的なツールとしてグローバルにインストールできます。
http://refresh-sf.com/ は、縮小とgzipの比率とサイズを提供します。
非圧縮、gzip、およびbrotli'edのファイルサイズを比較する場合フォルダー全体の場合:(フィルタリングする場合は*.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
サンプル出力(タブで区切られているため、スプレッドシートにコピーできます):
foo.js 39035 10150 8982
bar.js 217000 68978 56337
ノードコアでは、zlib.gzipバッファーの長さを使用してgzipサイズを決定できます。
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);
Gow(Gnu On Windows) を使用して、Windowsにgzip
自体をインストールできます。