sowiq
14.09.2008, 21:33:07
Witam,
ostatnio zastanawia mnie jedna rzecz - czy warto dbać o wstawianie nowych linii podczas drukowania np. tabelki generowanej w pętli PHP. Oczywiście zakładam, że kod HTML nie musi być czytelny dla nikogo, kto chce zajrzeć w źródło.
I tu nasuwa mi się pytanie - jaka różnica (jeśli jakaś) jest pomiędzy parsowaniem przez przeglądarki kodu napisanego w jednej linijce od kodu ładnie sformatowanego? Oczywiście wygląd obu wersji kodu HTML na ekranie monitora jest identyczny, ale jak jest z wydajnością?
Z góry dzięki za odpowiedź.
Exek
14.09.2008, 21:45:02
enter = 1 bajt = więcej pobranych danych = mniejsza wydajność

a tak szczerze to nigdy o tym nie myślałem
sowiq
14.09.2008, 21:50:57
No tak, ale jeśli przeglądarka parsowałaby stronę po jednej linijce, to wtedy szybciej poszłoby jej z mniejszymi porcjami... chyba...
No właśnie

Jak to, kurde, jest?
Crozin
14.09.2008, 22:06:54
Nie wiem w jaki sposób przeglądarki parsują źródło kodu - chociaż możesz to sobie podejrzeć, w końcu nie bez przyczyny jest coś takiego jak OpenSource, ale usunięcie zbędnych białych znaków napewno spowoduje zmiejszenie zuużycia transferu i jestem mocno przekonany, że spowoduje minimalny wzorst szybkości przetwarzania kodu przez przeglądarkę.
EDIT:
linijka po linijce... ale i tak najpierw trzeba pobrać dane, aby potem je rozdzielić na pojedyńcze linijki - jeszcze więcej operacji
qrees
14.09.2008, 22:08:25
Jeżeli parsowałaby po jednej linijce, to jakim cudem dużo linijek ma pójść szybciej niż jedna?

Owszem większy dokument pewnie parsuje się dłużej, ale samo parsowanie dokumentu to ułamek pracy jaki musi wykonać przeglądarka aby wyświetlić stronę i nie ma to praktycznie żadnego znaczenia. Bardziej ma to znaczenie przy oszczędzaniu transferu.
elmozaur
14.09.2008, 22:09:27
tzreba zrobic strona o wielkosci 10 MB z /n i bez.
Wrzucic na serw i zobaczyc ktora szybciej sie wygeneruje
sowiq
14.09.2008, 22:43:56
http://sowiq.net/test1.phphttp://sowiq.net/test2.phpSkrypty generują ok 1.2 MB kodu HTML (tabelki).
Tylko prośba - zanim zobaczycie która jest która, przetestujcie szybkość
Szczerze mówiąc - u mnie najwięcej czasu zajmuje samo ściąganie danych, więc jakby najbardziej trafna jest opcja bez '\n'.
rybik
14.09.2008, 22:54:36
Może to głupie, ale skąd podejrzenie że \n cokolwiek w przeglądarce zmienia? To my mamy stereotyp czytania po linijce i generalnie używanie \n jest raczej dla czytelności kodu a nie obłaskawiania przeglądarek ... tym bardziej, że w 95% wypadków strona leci skompresowana.
sowiq
14.09.2008, 23:20:04
@rybik,
kiedyś widziałem podobny temat na jakimś forum, ale nie wiem jak się skończył i od tamtej pory się nad tym zastanawiałem.
Chyba macie rację - jeśli nawet '\n' ma jakiekolwiek znaczenie, to bardziej w powiększonym transferze, niż w wydajności parsowania przez przeglądarkę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.