RSS

Dzielenie wyrazów na stronach WWW: realny wzrost ilości danych

Liczba odsłon: 25

Pisałem wczo­raj w dwóch moż­li­wych sposobach oz­na­cza­nia miejsc po­dzia­łu wy­ra­zów w ko­dzie HTML. Pierwszy spo­sób, po­le­ga­ją­cy na wy­ko­rzys­ta­niu encji ­, po­trze­bu­je czte­rech baj­tów, lecz mo­że być za­sto­so­wa­ny zaw­sze. Drugi wy­ma­ga je­dy­nie dwóch baj­tów na jedno miej­sce po­dzia­łu, lecz wy­ma­ga wy­ko­rzys­ta­nia Uni­kodu (na przy­kład ko­du UTF-8). Na przy­kła­dzie po­ka­za­łem, że wy­raz o krót­kich sy­la­bach po po­dzia­le mo­że zaj­mo­wać na­wet dwa razy wię­cej miej­sca w pa­mię­ci (a więc i w paś­mie sie­cio­wym).

Warto jed­nak spraw­dzić wzrost wiel­koś­ci real­nych pli­ków z tek­stem, skła­da­ją­cych się z wie­lu róż­nych wy­ra­zów. Do ta­kie­go te­stu wy­ko­rzys­ta­łem treść trzech ko­lej­nych wpi­sów blo­gu:

  Rozmiar
orygi­nal­ny
Podział ­ Podział UTF-8
Rozmiar Wzrost Rozmiar Wzrost
Tekst pierw­szy 4 144 B 6 665 B 61% 5 147 B 24%
Tekst dru­gi 4 661 B 7 603 B 63% 5 833 B 25%
Tekst trze­ci 2 300 B 3 512 B 53% 2 780 B 21%

W prak­ty­ce wzrost roz­mia­ru pli­ku z tek­stem, spo­wo­do­wa­ny wpro­wa­dze­niem oz­na­czeń miejsc po­dzia­łu na sy­la­by, nie jest aż tak tra­gicz­ny. Nawet nie­efek­tyw­na me­to­da z wy­ko­rzys­ta­niem encji ­ spo­wo­do­wa­ła wzrost rzę­du 60% — zde­cy­do­wa­nie nie „po­nad dwu­krot­ny”. Jeszcze lep­sze re­zul­ta­ty da­je za­sto­so­wa­nie Uni­kodu: roz­miar pli­ków zwięk­sza się w naj­gor­szym przy­pad­ku o 25%.