Hmm, místo optimalizace jejich JSE (IonMonkey?) nebo nahrazení podstatně efektivnějším V8 (licence?) se ustupuje k takovým workaroundům.
Zajímavé že přes všechny proklamace a oslavné (PR?) články je Firefox 57 na mnoha stránkách s rozsáhlejším javascript kódem a/nebo obsahem (kvanta CSS a textu, velké obrázky) výrazně pomalejší a řadově víc zatěžuje procesory
Nejde přece o provádění skriptů, ale o jejich načítání. Prohlížeč musí navázat spojení se serverem (analytické skripty se zpravidla načítají odjinud, než samotná stránka), server mu musí odpovědět a musí skript poslat. Pokud server odpovídá pomalu, rychlejší javascriptový engine s tím opravdu nic neudělá.
Bylo by ale fajn, kdyby tu prioritu načítání mohl ovlivnit autor stránky a nezáviselo to na nějakém seznamu domén zabudovaném v prohlížeči.
Což může už dávno – script může být označen za async/defer a je pak stažen a spuštěn s nižší prioritou (typicky) až po načtení stránky.
Pokud tomu správně rozumím, tak ve FF57 bude blacklist serverů, ze kterých se budou takto skripty stahovat i když je autor webu naprasí přímo do hlavního vlákna stránky.
Ano, to může. Pořád je v rukou prohlížeče, jak se k tomu postaví a jak si načtení naplánuje. Spolehlivější by bylo takové skripty přidat dynamicky s cíleným zpožděním třeba pomocí window.setTimeout() nebo až po události načtení stránky.
V případě FF 57 je to rozhodnutí načítat sledovací skripty až po všech ostatních. "The delay is engaged only for scripts added dynamically or as async. Tracking images are always delayed." z původního článku pak říká, že pro zpoždění musí být skripty přidané jako asynchronní. Jinak by to bylo porušení standardu. Sledovací prvky pak identifikují podle stejného seznamu jaký je jinak použitý pro ochranu proti sledování. Ta stejné prvky rovnou zablokuje.
Ale odložení načtení asynchronních skriptů je z důvodu zrychlení odezvy a jelikož objemově jsou vzhledem k celkovému obsahu malé, dns resolving rychlý protože jde z keše tak v konečném důsledku _jde_ o jejich provádění. Srovnával jsem stejné podmínky, kdy žádný ze skriptů nemá atribut async a Firefoxu to přesto trvá podstatně déle než vyrenderuje obsah a začne reagovat na vstup.
PajaC, 19:15: Myslím, že nedá tolik práce přijít na to, že odkládání spuštění skriptu na později nemá za cíl to, aby byl skript dokončen dříve. Ta nová funkce se týká jen asynchronních skriptů nebo skriptů vkládaných dynamicky. Jejím účelem je nezatěžovat počítač a linku skriptem, který je možné stáhnout a provést později – tím pádem zbyde víc pásma a výkonu právě na to zobrazení stránky, které zajímá uživatele.
Celý JS engine se jmenuje SpiderMonkey. IonMonkey je JIT, ale to je jenom detail.
Mít vlastní JS engine a vůbec celé jádro dává smysl z pohledu diverzity. Pokud bude ve všech prohlížečích Blink a V8, může si Google začít diktovat, jak budou vypadat samotné webové standardy. S ohledem na to, jak jeho různé služby fungují jenom v Chrome a do ostatních prohlížečů (i když mají Blink) pošle nějakou ořezanou verzi, nebo je úplně zablokuje, to vidím jako reálný scénář.
Výkon samotného JS enginu se těžko porovnává. Výpočetní benchmarky něco ukážou, ale jsou daleko od reálného použití při přihlížení. A tam je JS jenom jedna z mnoha komponent. Ve Firefoxu je tradičně "brzdou" vykreslování. To snad změní WebRender.
presne tak, ta brzda je nekde jinde a picusci to neumi odlisit; jedna vec je rychlost provadeni kodu, druha vykreslovani; ve vsech benchmarcich, ktere delam, vychazi rychlost js ve ff bud lepe nebo az radove lepe (treba 6x a to uz to kleslo od doby, kdy to bylo jeste 2x horsi) a nemluvim o nejakych mikrobencmarcich, je to sice specificka v kontrxtu frontendu ale ta stejna cast aplikace, ktera naostro bezi; stran nezrejme vyznamnych mikrobenchmarku je to to same, ff je bud on par nebo rychlejsi, plati tak pro 95% pripadu, ktere me zajimaly
Poslední dobou se mi začalo stávat, že se mi stránka nenačte vůbec. Když to ve stejnou dobu se stejnou adresou zkusím v Chrome, tak bez problémů.
Hmm. We’re having trouble finding that site.
We can’t connect to the server at www.auto.cz.
If that address is correct, here are three other things you can try:
Try again later.
Check your network connection.
If you are connected but behind a firewall, check that Firefox has permission to access the Web.
Uznávam, že nový Firefox je rýchlejší, ale je neskutočne pamäťovo nenažratý. Stačí otvoriť pár tabov a 3GB ramky sú fuč. Chrome toto nerobí. Okrem toho vypusiť tú jedinú killer feature, čo Firefox odlišovala od ostatných prehliadačov (veľká modifikovateľnosť) to je riadna blbosť.
Spotřeba paměti je velká i v chromu. Záleží na tom, co je v tom panelu. Například panely s Youtube pochopitelně žerou neskutečné množství paměti. Ale celkově jde spíš o problém "paměť, rychlost, stabilita - vyber dvě". Nový Firefox je nový, snad se jim to podaří vyladit a zbavit všech dětských nemocí.
3GB ram je pro dnešní PC s Windows na hraně použitelnosti (pod 3GB bych nešel ani s desktopovým Linuxem, právě kvůli rostoucí náročnosti některých aplikací). Jen Windows 10, Chrome, antivir a emailový klient potřebují něco kolem 2GB paměti (samotný Windows 10 tak okolo 1,4GB). 4GB paměti je dnes bohužel minimum pro hladký chod OS a základních aplkací (prohlížeč, antivir, office), 8GB je OK (ale i to může s přehledem smáznout jedna středně náročná hra; pro modifikovaný Minecraft není 4GB rezervované paměti nic neobvýklého) a 16GB by mělo vydržet nějaký ten rok.
Já si na čtení pdf poridil v akci Surftab. Má to 2 GB RAM. Windows se umí nějak přizpůsobit, po startu to má 1.1 GB, nejmíň jsem viděl 1.0. Snad se to nebude nějak zhoršovat. Kdyztak linux, i když v dotyku linux ztrácí.
Zbytek ram je pro aplikace. Firefox žere zhruba tak o 100 MB RAM víc než Edge, ale Edge vic procesoru. Takže jsem na Firefoxu jako všude jinde.
Používám firefox jak ve win, tak v linuxu. Už asi 15 let jsem mu věrný, ve firmě jsem s ním prodělal celý cyklus od zakázaný přes trpěný - nepodporovaný - alternativní až po skorovýchozí (win). Ovšem poslední měsíc jsem doma na notebooku musel přejít na Slimjet. Ano, laptop je 10 let starý, dvě jádra, 1GB RAM a Win7. Jenže s FF je nepoužitelný a se Slimjet úplně v pohodě. Ve zobrazování nevidím rozdíl - proboha proč je FF tak neuvěřitelně pomalý a nenažraný? A to jsem v config zkoušel ledacos, ale jen s malým efektem.