1. ホーム
  2. compression

[解決済み] Gzipとminifyの比較

2022-06-23 19:53:47

質問

先日、Javascript と CSS の最小化について、Gzip を使用することを好む人と、少々活発な議論を交わしました。

私はこの人を X と呼ぶことにします。

Xは、Gzipはファイルをzipで圧縮するので、すでにコードを最小化していると言いました。

私はそうは思いません。Zip は ロスレス であり、ファイルサイズを縮小する方法です。ロスレスというのは、オリジナルを完全に復元しなければならないということです。つまり、スペースや不要な文字、コメント付きのコードなど、あらゆるものを復元できるように情報を保存しておかなければならないのです。より多くを圧縮する必要があるため、より多くのスペースが必要になります。

私はテストの方法を持っていませんが、私はこのコードのGzipを信じています。

.a1 {
    background-color:#FFFFFF;
    padding: 40px 40px 40px 40px;
}

はこのコードのGzipよりまだ大きいでしょう。

.a1{body:background-color:#FFF;padding:40px}

この正否を証明できる方はいらっしゃいませんか?

あと、quot;いつも使っているものなので正しいです"と言って来ないでください。

私はここで科学的な証明を求めているのです。

どのように解決するのですか?

テストは非常に簡単です。 私はあなたのjsを取り、それらを別のファイルに置き、それらに対してgzip -9を実行しました。 これがその結果です。 これは Cygwin と gzip 1.3.12 を実行している WinXP マシンで行われました。

-rwx------  1 xxxxxxxx mkgroup-l-d     88 Apr 30 09:17 expanded.js.gz

-rwx------  1 xxxxxxxx mkgroup-l-d     81 Apr 30 09:18 minified.js.gz

ここで、実際のJSの例を使ってさらにテストしてみましょう。 ソース ファイルは "common.js" で、元のファイル サイズは 73134 バイトです。 最小化すると、26232バイトになりました。

元のファイルです。

-rwxrwxrwx 1 xxxxxxxx mkgroup-l-d 73134 Apr 13 11:41 common.js

最小化されたファイルです。

-rwxr-xr-x 1 xxxxxxxx mkgroup-l-d 26232 Apr 30 10:39 common-min.js

9オプションでgzip圧縮したオリジナルファイル(上記と同じバージョン)。

-rwxrwxrwx 1 xxxxxxxx mkgroup-l-d 12402 Apr 13 11:41 common.js.gz

9オプションでgzip圧縮された最小化ファイル(上記と同じバージョン)です。

-rwxr-xr-x 1 xxxxxxxx mkgroup-l-d  5608 Apr 30 10:39 common-min.js.gz

ご覧のように、様々な方法の間には明確な違いがあります。 最良の策は、minifyとgzipの両方を行うことです。