HTML / Javascript 축소가 유익한 이유


14

HTTP 프로토콜이 이미 gzip 데이터 압축을 지원할 때 HTML / Javascript 축소가 도움이되는 이유는 무엇입니까?

나는 자바 스크립트 / HTML 축소를 자바 스크립트의 크기를 줄일 크게 수있는 잠재력을 가지고 것을 깨닫게 / HTML은 각각 몇 글자에 변수 이름을 변경 아마도 불필요한 공백을 제거하고,에 의해 파일 만 수행 LZW 알고리즘을하지 않습니다 특히 많은 반복이있을 때 잘 문자 (예 : 공백?)

일부 Javascript 축소 도구는 크기를 줄이는 것 이상을 수행합니다. 예를 들어 Google의 클로저 컴파일러는 함수를 인라인하고 다른 분석을 수행하여 코드 성능을 개선하려고합니다. 그러나 Javascript 축소 의 주요 목적은 일반적으로 파일 크기를 줄이는 것입니다.

또한 코드 난독 화와 같이 성능을 제외하고 최소화해야 할 다른 이유가 있다는 것을 알고 있습니다. 그러나 다시 한 번이 이유는 성능 향상 및 파일 크기 축소만큼 강조되지 않습니다. 예를 들어, Closure Compiler는 난독 화 도구가 아니라 코드 크기 축소 기 및 다운로드 속도 향상기로 광고됩니다.

따라서 gzip 압축으로 파일 크기를 이미 크게 줄이면 Javascript / HTML 축소로 얼마나 많은 성능을 얻을 수 있습니까?

답변:


11

gzip 압축에는 자체 오버 헤드 (CPU)가 있기 때문입니다. 축소는 CPU 적중없이 적용될 수있는 최초의 "낮은 중단"압축입니다.

그러나 이것은 중요하지 않은 것처럼 보일 수 있지만, 규모가 관련되면 곧 숫자가 의미가 있습니다.

또한 축소 로 gzip 을 줄일 수 있습니다 .


3
현대 웹 서버는 실제로 모든 요청에 ​​대해 자바 스크립트 파일을 압축합니까? 서버는 변경되지 않을 것이므로 정적 gzipped 컨텐츠를 캐시 할 가능성이 높습니다.
aaberg

@aaberg 그럼에도 불구하고, 그것은 서버에 더 많은 캐시 된 데이터입니다. (캐싱이 좋지 않음)
chills42

@ chilis42 : 문제가 발생하면 서버는 파일 시스템 자체에서 사전 압축 된 파일을 제공 할 수 있습니다.
herby

스케일의 경우 +1 하루에 10 명의 사용자와 100 개의 조회수가 있으면 관계가 없습니다. 한 시간에 100k의 조회수를 기록해야하는 경우 상당한 절감 효과가 있습니다.
SoylentGray 2016 년

2
뭔가는 전체 규모의 JavaScript 컴파일러와 여러 가지 최적화 실행을 내부 표현으로 실행한다는 것을 말해줍니다. 자바로 구현되는 모든 것이 CPU 오버 헤드가 적지 않습니다 .
Oleg V. Volkov

5

축소는 gzip이 일반적으로 더 나은 결과를 제공합니다. gzip은 일반적으로 하나의 입력 또는 다른 입력에 맞게 조정되지 않은 반면 축소 기는 해당 내용을 알고 있으며 일반 압축 알고리즘으로는 불가능한 작업을 수행 할 수 있기 때문입니다. 그것은 또한 손실을 줄 수 있습니다 (생각 : 주석과 공백을 완전히 제거하십시오-그것은이 데이터에 대해 100 % 압축, 어떻게 이길 수 있습니까?), 일반 압축으로는 할 수 없습니다.


2

성능상의 이점은 그리 크지 않지만 대역폭 사용량은 여전히 ​​줄어 듭니다. 축소 (및 요청 수를 줄이기 위해 CSS 스프라이트 사용)를 통해 js (및 CSS) 파일에서 몇 kb를 줄일 수 있고 하루에 1000 명의 사용자에게 서비스를 제공하는 경우 한 달 후에는 대역폭이 크게 줄어 듭니다.


1
+1 : 축소는 총계 절약에 관한 것입니다. 개별 요청이 더 빠를 수 있지만 시간이 지남에 따라 대역폭 사용량을 줄이는 것이 중요합니다.
Joel Etherton

1

웹 응용 프로그램에서 가장 비싼 것은 물건을 전송하는 것입니다. CPU 사이클을 지불하는 경우 유선으로 물건을 덜 보내는 것이 거의 항상 순이익입니다.

또한이를 뒷받침 할 과학적인 것은 없지만 축소 도구가 도메인별로 다르고 gzip이 아닌 Javascript를 더 잘 압축하도록 조정할 수있는 경우 축소 도구가 아마도 gzip보다 Javascript를 더 잘 압축 할 수 있다고 기대합니다 일반적인 도구이며 중간에 손상됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.