gzip으로 압축 된 스크립트의 크기를 어떻게 추정 할 수 있습니까?
내 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)
pretty-print 및 공백 전용 옵션을 사용하여 축소되지 않은 콘텐츠의 압축을 추정 할 수 있습니다.
견적이 필요한 경우 :
- 동일한 축소 파이프 라인을 거친 100 개의 JS 파일로 시작합니다.
- 각 파일에 대해
gzip -c "$f" | wc -c
와 사이의 크기 비율을 계산합니다.wc -c "$f"
- 이러한 비율의 평균은 유사한 JS 파일에 대해 예상해야하는 압축의 근사치입니다.
Cygwin 에는 gzip
및 wc
Windows 용 명령 줄 구현이 포함되어 있습니다 .
유닉스 gzip -c filename.min.js | wc -c
를 사용하는 경우-gzip 파일의 바이트 수를 제공합니다.
7-zip 은 GZIP 형식으로 압축을 지원합니다.
나는 종종 파일 크기를 근사화하고 비교하기 위해 이것을 사용합니다.
아카이브를 생성 할 때, 찾아 Archive Format
, 그리고 gzip
제 3의 옵션입니다.
최신 정보:
의견에서 우리는 7-zip의 GZIP 압축과 실제 서버의 GZIP 압축간에 차이가있을 수 있다고 논의했습니다. 그래서 http://www.google.com/ 의 홈페이지만을 사용하여 비교했습니다 .
Google의 GZIP 페이로드는 36,678 바이트였습니다. 7-zip, "gzip Normal"설정은 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
comprison에 원본 크기가 필요한 경우
cat path/to/file.js | wc -c | numfmt --to=iec-i --suffix=B --padding=10
프로그래밍 방식으로 얻으려면 gzip-size 와 같은 유틸리티가 있습니다 . 노드 패키지이지만 일반적인 도구로 전역 적으로 설치할 수 있습니다.
http://refresh-sf.com/ 은 축소 및 gzip 비율 및 크기를 제공합니다.
전체 폴더에 대해 압축되지 않은, gzipped 및 brotli 된 파일 크기를 비교 하려면 : (필터링하려는 경우 *.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
Gow (Windows의 Gnu)gzip
를 통해 Windows에 설치할 수 있습니다 .
노드 코어를 사용하면 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);
참고 URL : https://stackoverflow.com/questions/9468511/how-can-i-estimate-the-size-of-my-gzipped-script
'Nice programing' 카테고리의 다른 글
이 RMagick 호출이 분할 오류를 생성하는 이유는 무엇입니까? (0) | 2020.11.03 |
---|---|
MySQL은 기존 테이블 열 정렬 (0) | 2020.11.03 |
Xcode 링커 오류 : 아키텍처 x86_64에 비해 파일이 너무 작습니다. (0) | 2020.11.03 |
angular.js에서 오른쪽 클릭 이벤트를 어떻게 처리합니까? (0) | 2020.11.03 |
PHPStorm에서 Ruby 구문 강조 표시를 얻을 수 있습니까? (0) | 2020.11.03 |