Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kompresja JS/CSS
Armstrong
post
Post #1





Grupa: Zarejestrowani
Postów: 200
Pomógł: 40
Dołączył: 26.08.2009
Skąd: Kobiernice

Ostrzeżenie: (0%)
-----


Hmm Zastanawia mnie jedno. Czy opłaca się kompresować CSS i JS? Jak to ogólnie wpływa na "szybkość". Czy stosujecie takowe kompresje? W ogóle są one pomocne?

Jeżeli temat już istniał, to przepraszam szukałem (pewnie nie zbyt dobrze).


--------------------
// NOPE
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Chodzi Tobie o kompresje HTTP (np. poprzez Apache'owy mod_deflate), czy o tzw minifikację (YUI Compressor)?
Go to the top of the page
+Quote Post
Armstrong
post
Post #3





Grupa: Zarejestrowani
Postów: 200
Pomógł: 40
Dołączył: 26.08.2009
Skąd: Kobiernice

Ostrzeżenie: (0%)
-----


Konkretnie o usuniecie White-Spaces czyli o YUI Compressor

Ten post edytował Armstrong 7.02.2010, 12:27:54


--------------------
// NOPE
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #4





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Jak dla mnie usunięcie białych znaków nie wpływa na szybkość, ale na pewno na transfer. Po co przesyłać niepotrzebne spacje i tabulatory...
Go to the top of the page
+Quote Post
vokiel
post
Post #5





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Zależy na jakim poziomie kompresji Ci zależy. Jeśli tylko białe znaki, to wystarczy nawet:
  1. preg_replace('/\s+/', ' ', file_get_contents('script.js'));


--------------------
Go to the top of the page
+Quote Post
LBO
post
Post #6





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Czytałem kiedyś artykuł na ten temat. Autor zwrócił uwagę, że na ogólną szybkość strony wpływa kilka czynników:
1. Wielkość pobieranych plików.
2. Czas przygotowania tych plików (czyli np. dekompresji po mod_deflate).
3. Czas parsowania.
4. Czas wykonywania.

Minifikacja (usunięcie white-space) JS i CSS na pewno wpływa dobrze na na punkt 1. Nie ma żadnego wpływu na punkt 2. Prawdopodobnie przyśpiesza (minimalnie) przy punkcie 3, ale nigdy nie znalazłem niczego co by to potwierdziło - szczególnie, że przy językach skryptowych liczy się bardziej ilość tokenów niż wielkość pliku. Istnieje jeszcze opcja minifikacji w połączeniu z optymalizacją źródeł, a nawet ich zaciemnieniem (obfuscacja). Teoretycznie może to dać dodatkowego kopa punktowi 1 i 3.

Schodki zaczynają się gdy jednocześnie chcesz użyć kompresji i minifikacji. Mogą sobie wchodzić w paradę.

Oczywiście nie zawsze będziesz potrzebował tego typu optymalizacji np. gdy masz niewiele odwiedzin, lub twoje oryginalne style i skrypty są i tak niewielkie.





Za punkt 4 odpowiadają już same silniki JS wbudowane w przeglądarki, a te są coraz szybsze smile.gif
Go to the top of the page
+Quote Post
varez
post
Post #7





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


@vokiel:
Twoj kod jest świetny, szczególnie jak mamy spacje w stringach w kodach JS..
Go to the top of the page
+Quote Post
vokiel
post
Post #8





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Tylko nie można mieć komentarzy przy użyciu //, trzeba używać /**/.

edit down:
Jeśli zrobił tak jak trzeba, dając jako replacement apostrof spacja apostrof to usunie tylko podwójne spacje (inne puste znaki też).
Tak czy inaczej skrypt js nie jest miejscem do umieszczania treści opisów, komunikatów. Jeśli stosuje się zasadę oddzielenia logiki od treści to nie ma problemu. Oddzielny plik z komunikatami, który nie jest kompresowany i nie ma problemów.

Ten post edytował vokiel 9.02.2010, 17:55:39


--------------------
Go to the top of the page
+Quote Post
pyro
post
Post #9





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


@vokiel, chyba nie załapałeś co @varez chciał Ci przekazać hehe.

To była ironia.

Ten post edytował pyro 9.02.2010, 16:54:49


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:28