reklama

Microsoft a Google tvoří W3C standardy. Společně

Rychlost prohlížeče a časovou i datovou náročnost webových stránek dnes můžete změřit nejrůznějšími benchmarky. W3C se snaží pro tyto případy vytvořit jednotný standard.

Ještě před pár lety se Microsoft tvorby standardů W3C příliš neúčastnil, to se ale pomalu mění. Nechce být pouze jejich implementátorem, ale i aktivním tvůrcem. Po několika vlaštovkách tak nyní programátoři IE spolupracují s Googlem (!) v pracovní skupině W3C – Web Performance Working Group. Ta má za úkol standardizovat měření výkonu internetového prohlížeče.

A ten se dnes měří skutečně obtížně, po ruce je totiž pouze hromada nejrůznějších benchmarků, založených na čistém Javascriptu. Takové testy sice udělají kus práce a dnes jsou vlastně jediným referenčním srovnáním (s výsledky z testu SunSpider se ostatně chlubí i Microsoft), nejsou ale dokonalé.

Pokud má nějaký skript změřit čas načítání a zpracovávání nějakého webu (a přeneseně tedy i výkon prohlížeče), potřebuje zjistit některé informace přímo z jádra prohlížeče – třeba přesný čas, kdy surfař klepnul na odkaz. Jedině tak lze získat reálnou latenci uživatele a na základě velkých průtahů třeba zrychlit server, konektivitu nebo odstranit tunu nepotřebného Javascriptu, který zdržuje zpracovávání stránky a přitom se třeba stará jen o nějakou zbytečnou drobnost.

Web Timing – jak dlouho se skutečně načítala stránka

Prvním výsledkem práce nové skupiny má být projekt Web Timing (Google na něm pracuje už delší dobu). Prozatím jen pracovní verze Web Timingu je balík několika objektů přístupných skrze Javascript, které dají programátorovi webu informaci, kdy surfař klepnul na odkaz a další. Ostatně podívejte se třeba na jednoduchý příklad, který změří čas od prvotního klepnutí na odkaz až po kompletní načtení stránky. V čase tedy bude započítána odezva prohlížeče, dotaz na DNS server, webový server, generování kódu serverem, stažení dat ze serveru, interpretace dat a jejich zobrazení.

<html>
  <head>
    <script type="text/javascript">
    function onLoad(){
      var presnyCas = new Date().getTime();
      var latence = presnyCas - performance.timing.navigationStart;
      alert("Stránka se načítala tákhle dlouho: "+latence);
    }
    <script>
  </head>
  <body onload="onLoad()">

     Bla bla bla bla bla bla
     </body>
</html>

A nyní tento nový kód srovnejte s běžným Javascriptem:

<html>
  <head>
    <script type="text/javascript">
    var zacatek = new Date().getTime();
    function onLoad() {

      var presnyCas = new Date().getTime();
      var latence = presnyCas - zacatek;
      alert("Stránka se načítala tákhle dlouho: " + latence);
    }
    </script>
  </head>
  <body onload="onLoad()">

  Bla bla bla bla bla bla
  </body>
</html>

Jak měřit bez standardů

„Šílení měřiči času“ samozřejmě mohou poněkud kostrbatě obejít Web Timing a použít klasický Javascript. Výsledky sice nebudou zcela totožné, ale stačí na původní stránce zaměnit všechny běžné odkazy za Javascript. Jakmile na takový odkaz klepnete, Javascript změří aktuální čas a vloží ho do cílového odkazu jako parametr. Javascript na cílové stránce si ho zpracuje a bude tedy vědět, kdy jste klepli na odkaz a jaký časový rozdíl tedy musí spočítat. Jistě mi ale dáte za pravdu, že tento postup není vhodné pro ostré nasazení na internetu. S DOMTimingem dále experiemntuje i Firefox.

Jaký je v obou případech rozdíl? V druhé ukázce se změří doba načítání stránky od okamžiku, kdy prohlížeč zpracoval řádek s proměnnou začátek, do které se uložil přesný čas a po dokončení nahrávání stránky se pouze spočítá rozdíl mezi aktuálním časem a startem načítání. Výsledný čas ale nezměří komunikaci prohlížeče se serverem (tedy skutečnou internetovou latenci).

IE 9 a Chrome 6

Web Timing toho samozřejmě nabízí mnohem více, měřit totiž můžete konkrétní fáze komunikace se serverem a časem přibydou jistě i další metody. Je to první vlaštovka webového benchmarkingu postaveného přímo v samotném prohlížeči – tentokrát tedy neměří skript třetí strany, ale samotný program.

Specifikaci Web Timing v současnosti nepodporuje jediný stabilní prohlížeč, skutečně se totiž jedná pouze o návrh, rozumí ji ale třeba IE9 Developer Preview a poslední noční sestavení Chrome 6. Oba prohlížeče ale v kódu pro označení používají vlastní předpony ms (window.msPerformance.*) a webkit, aby bylo vývojářům jasné, že se zatím ani zdaleka nejedná o normu – tu by W3C konsorcium mělo vypustit až v září příštího roku.

Ukázka W3C technologie Web Timing je i součástí testovacího webu IE9 Test Drive. Podívat se na ni můžete ve zkušební verzi Internet Exploreru 9 na této adrese,

Témata článku: Technologie, Microsoft, Google, Prohlížeče, Web, Programování, Chrome, Internet Explorer, Head, Alert, Benchmarking

13 komentářů

Nejnovější komentáře

  • Petr Vlk 31. 8. 2010 23:21:25
    Zjevně byste si mohl něco přečíst o fungování W3 (historii vývoje webu a...
  • Petr Vlk 31. 8. 2010 23:16:48
    Ovšem ony standardy (a jsou de facto ne de jure) definují pouze jako...
  • Petr Vlk 31. 8. 2010 23:13:21
    Například které?
reklama
Určitě si přečtěte

Vybíráte herní periferii nebo hardware? Pak zapomeňte na nálepku Gaming

Vybíráte herní periferii nebo hardware? Pak zapomeňte na nálepku Gaming

** Herní hardware se od toho běžného často liší jen vzhledem ** Při výběru stále nezapomínejte na základní parametry ** Poradíme jak vybrat herní hardware i periferie

20.  2.  2017 | Stanislav Janů | 35

10 nejhorších produktů v historii Microsoftu

10 nejhorších produktů v historii Microsoftu

20.  2.  2017 | Karel Javůrek | 132

Pojďme programovat elektroniku: Žádný bastlíř se neobejde bez armády švábů

Pojďme programovat elektroniku: Žádný bastlíř se neobejde bez armády švábů

** Každý bastlíř se po čase neobjede bez armády švábů ** Dnes si některé z nich vyzkoušíme ** Třeba zázračný posuvný registr

19.  2.  2017 | Jakub Čížek | 39

AMD oficiálně představilo procesory Ryzen. Známe i jejich české ceny

AMD oficiálně představilo procesory Ryzen. Známe i jejich české ceny

** AMD uvedlo první tři procesory Ryzen 7 ** Všechny budou pracovat s osmi jádry a šestnácti vlákny ** Na pulty obchodů se dostanou už za týden

22.  2.  2017 | Stanislav Janů | 121

Vyhledávání ve Windows není dokonalé, zkuste to 5× jinak

Vyhledávání ve Windows není dokonalé, zkuste to 5× jinak

** V macOS funguje vyhledávání Spotlight, ve Windows podobně propracovaná funkce chybí ** Alternativy se zaměřují na rychlé hledání souborů i externí zdroje ** Mnohé mohou vyhledávání ve Windows kompletně nahradit

18.  2.  2017 | Stanislav Janů | 58

EU se děsí Windows 10. Prý o nás vědí až příliš. Microsoft chystá změny

EU se děsí Windows 10. Prý o nás vědí až příliš. Microsoft chystá změny

** Evropští úředníci chtějí, aby byly Desítky transparentnější ** Microsoft od jara skutečně chystá změny ** Ochráncům soukromí to ale nestačí

21.  2.  2017 | Jakub Čížek | 217


Aktuální číslo časopisu Computer

Stavba 3D tiskárny

Výbava domácí elektrodílničky

Budoucnost 5G sítí

Velké testy microSD karet a vodních chladičů

Přehled mobilních tarifů

reklama
reklama