Surfujeme stokrát rychleji, web je ale stále pomalý

Před deseti lety jsme surfovali rychlostí okolo 6 kB/s. Dnes za stejný okamžik stáhneme stokrát a více dat. Samotné surfování ale zase tak rychlejší není. Stále čekáme a čekat budeme.

Za posledních deset let se ohromným tempem zrychlilo průměrné české připojení k internetu. Zatímco v roce 2001 se drtivá většina domácností připojovala k internetu pomocí telefonního modemu se závratnou teoretickou rychlostí až 56 000 bitů za sekundu a byla zvyklá, že se neplatí ani měsíční paušál, ani za data, ale za čas jako při běžném telefonním hovoru, dnes je situace diametrálně odlišná.

Surfujeme více než stonásobně rychleji

V drtivé většině případů platíme neměnný měsíční paušál a i ten nenáviděný FUP (datový limit) se postupně stává čím dál tím více exotičtějším slovíčkem. Neplatí to samozřejmě ve všech případech – internetové připojení v České republice je skutečně různorodé a zvláště drobní metropolitní a mobilní poskytovatelé mají občas vskutku jedinečná pravidla, ale pokud všechny surfaře zprůměrujete, vyleze vám z toho hodnota, která se bude pohybovat někde okolo 8 Mb/s a cena v řádu stokorun měsíčně. Právě tak rychle dnes v průměru surfujeme a tolik za to platíme, přičemž v úvahu se bere jak pevné, tak mobilní připojení. Samotný rozptyl je pak obrovský od přetrvávajících ostrůvků, které stále visí na pomalém a drahém vytáčeném dial-upu, až po domácí zákazníky se stomegabitovým i rychlejším internetem.

internet.png
Růst internetu a naopak pokles telefonních přípojek v letech 1989 až 2008. Počítače a internet se týká pouze domácností, telefonní přípojky a širokopásmový internet pak všech obyvatel (počty na 100 obyv.)
Zdroj: ČSÚ: Česká republika od roku 1989 v číslech

Suma sumárum, za těch deset let se nám připojení zrychlilo z 0,056 Mb/s na 8 Mb/s (nejčastější ADSL), tedy 143×. Pokud surfujete na UPC, rychlost bude u tarifu Fiber Power 25 dokonce 446× rychlejší a stejné poměry se samozřejmě týkají i dalších rychlých metropolitních providerů včetně ADSL připojení co nejblíže telefonním ústřednám, kde může rychlost vystoupat do skutečných výšin srovnatelných s kabelovým internetem.

Ale web je stále pomalý

Potud matematická teorie a teď praxe. Je internet, nebo vlastně připojení, skutečně dvěstěkrát rychlejší? Nejspíš teď každý pochybuje. Vysokou rychlost připojení poznáte pouze při stahování a nahrávání dat, kdy na těch nejrychlejších sítích už skutečně může samotný internet konkurovat levným diskům NAS v lokální síti. Stejně tak surfování na webu je rychlejší než před deseti lety, rozhodně ne ale dvěstěkrát.

velikost webu.png
Růst průměrné velikosti webu a počtu objektů na stránce
Zdroj: Websiteoptimalization.com

Pokud jste znali Živě.cz na počátku 21. století, titulní stránka se vám načítala několik sekund. Dnes je to vlastně úplně stejné. Kde je tedy problém? Problém spočívá v tom, že jsme sice stokrát zrychlili internet (nejen koncové uživatele ale i samotné servery), zároveň jsme ale neskutečným způsobem zkomplikovali a do obřích rozměrů nafoukli samotné webové stránky.

V roce 2001 dosahoval HTML kód titulní stránky Živě.cz asi 30 kB. Dalších pár desítek kilobajtů pak zabírala drobná grafika ve formátu GIF. Současná podoba titulní stránky zabírá asi 250 kB, mám na mysli ale pouze základní HTML kód. Společně s tím se načítá hromada javascriptových knihoven včetně jQuery, mnohem náročnější obrázky a pak data z externích zdrojů, kam spadá třeba reklama. Stránky Živě.cz nijak nevycházejí z řady, jsou v podstatě takovým průměrem titulky komerčního webu. Suma sumárum, kompletní úvodní stránka Živě.cz včetně všech objektů a flashových reklam zabírá bezmála 2 MB. Teď si jistě řeknete, že vám pomůže AdBlock a jemu podobní, kteří ušetří přinejmenším 2/3 datového přenosu, to je ale nesmysl. Čtyři rozměrné a animované flashové reklamy zabírají dohromady a v našem případě „pouze“ okolo 140 kilobajtů. Je to samozřejmě mnohem větší nápor než v roce 2001, ale je to zároveň jen velmi drobná část celého balíku dat, ze kterého se web skládá.

zive 2001.png  zive.png
Téměř kompletní Živě.cz z roku 2001 a současná podoba

Nevážíme si bajtů

Surfujeme tedy mnohonásobně rychleji než před deseti lety, stejně tak několikadesetinásobně se ale nafoukly i weby. V roce 2001 se na webu nepoužíval ajax a populární javascriptové knihovny – jediným efektem široko daleko byl běžící text v řádku a možná tak vypsání aktuálního času s informací, kdo má dnes narozeniny. Javascript byl jednoduchý, stejně tak DOM API a vše mělo teprve přijít. Dnes je situace v mnoha případech na zcela opačném pólu. Když občas sledují zdrojový kód stránek (i s pomocí drobného doplňku pro Chrome – Chrome Sniffer), nestačím se divit, jak velkolepým způsobem někteří autoři plýtvají datovým přenosem a CPU výkonem.

 chrome sniffer.png
Běžný web dnes obsahuje celou plejádu knihoven, modulů, doplňků...

Poměrně často se tak stává, že jedna javascriptová knihovna se použije na ajaxové volání kdesi na pozadí běhu webu, druhá knihovna na drobný animační efekt u dvou prvků, třetí knihovna pak zase na další činnost a vše to uzavírá čtvrtá knihovna. Jejich kód je dnes sice extrémně optimalizovaný a zhuštěný, takže na datovém toku se to projeví skutečně jen několika desítkami kilobajtů dat, ale je to na druhou stranu zase zbytečné vydírání procesoru, který musí vše zpracovat a řekne si o větší díl energie. Z tohoto úhlu pohledu lze dnes weby hodnotí nejen z hlediska jejich datové náročnosti, ale i z hlediska energetické úspornosti. Čím častěji budeme surfovat na kapesních počítačích a noteboocích s baterií, tím ožehavější to bude téma.

10k apart – web, který se vleze na desetinu diskety

Web se nafoukl do obřích rozměrů, což ostatně souvisí i s celkovou změnou programování na desktopu. Zatímco před dvaceti lety byl nucen každý vývojář bojovat o každý bajt paměti a procesorovou instrukci, dnešní vysokoúrovňové programování se orientuje především na programátorovo pohodlí. Současné programy tedy běžně dosahují velikostí mnoha megabajtů dat a stejně tak se nafukují weby. Samozřejmě dělají stále složitější úkony, v podstatě jsou ale z uživatelského hlediska stále stejně pomalé (nebo rychlé – záleží na úhlu pohledu). S tím vším se nechtěla spokojit iniciativa 10k apart.

10k apart.png
Jistě, jsou to drobnosti, každá z nich ale zabere maximálně jen 10 kB

Autoři projektu 10k apart vyzvali vývojáře webových aplikací, aby napsali funkční kód webové aplikace, který se přitom vleze do 10 kilobajtů – do deseti tisíc znaků. Takový program by se tedy na všech současných typech připojení načetl velmi rychle a i na stařičkém vytáčeném připojení by se stahoval necelé dvě sekundy. Přitom by přinesl vše, co dnes nabízí moderní web a HTML5.

Do soutěže se nakonec „pár“ otrlých programátorů skutečně přihlásilo a vznikla galerie, která dnes obsahuje téměř čtyři stovky jednoduchých aplikací. Jak už dnes u HTML5 bývá zvykem, povětšinou to jsou multimediální a zábavní aplikace, na stařičkou disketu by se jich ale vlezlo rovnou 104, což je poměrně slušné. Jen připomenu, že na disketu by se stěží vlezla celá titulní stránka Živě.cz – o „titulkách“ tuzemských zpravodajských webů pak raději nemluvě.

zivelogo.png  zive logo.png
Logo Živě.cz před deseti lety a dnes. V obou případech se jedná o GIF, to nové je ale 5× větší

Vítězná aplikace má pouhých 6,9 kB, funguje jak na počítači, tak na dotykových telefonech s podporou moderního webu (iOS, Android) a jedná se o velmi jednoduchou hru napsanou pro Javascript a Canvas, která vzdáleně připomíná starého dobrého Hada.

Video na YouTube

Nafukuje se i video. Nedělní Týden Živě pro mobilní displej (3GP/MPEG-4, 320×240) zabere 63 MB. Verze pro chytrý telefon (MP4/H.264, 480×320) 137 MB a HD Ready verze 720p pro desktop rovnou 438 MB.

Způsob programování se už do starých kolejí nevrátí a bude stále vysokoúrovňovější a jednodušší, aby se otevřel co nejširšímu spektru potenciálních uživatelů. Režie spojená s neefektivitou bude vyrovnána stále silnějšími procesory a většími úložišti a lidé přirozeně zapomenou na dobu před třiceti lety, kdy bylo programování na jednu stranu neskutečně jednoduché a přitom paradoxně i velmi složitě a abstraktní.

Přesto všechno stojí alespoň za zamyšlení, co by současné vskutku supervýkonné procesory dokázaly s kódem, který by byl pečlivě promyšlen instrukce po instrukci a bit po bitu, jak k tomu byli nuceni programátoři těch nejranějších počítačových her a aplikací.

Diskuze (64) Další článek: Web státních maturit opět hacknut, hraje nová písnička

Témata článku: , , , , , , , , , , , , , , , , , , , , ,