Dosud běžel celý Firefox v jediném procesu – ve stejném procesu uživatelské rozhraní a webové stránky s JavaScriptem. Špatně napsaný JavaScript tak mohl způsobit a v praxi způsoboval zatuhnutí rozhraní Firefoxu a většinou pád.
Spustím-li však htop, vidím hned několik procesů Firefox. Jak to tedy doopravdy je?
<sarcasm>
Multiprocesový? Takže to teď místo jednoho procesu žroucího 1+ GB RAM teď budu mít hned tři? Proč takové plýtvání a neudělají to raději vícevláknově? Stará Opera tak (zřejmě) fungovala a její UI bylo pekelně rychlé. Bohudík, že aspoň tedy (zatím) nebude co tab, to samostatný proces.
</sarcasm>
Jenomže hlavní průšvihy zůstávají:
- Jeden proces jako balík vláken pojede zase jenom na jednom jádře jako doteď. Takže bez pluginů zátěž zůstane na jednom jádře.
- UI půjde na druhý jádro, aby tomu odlehčil. Kolik asi? 5-10%, co odlehčí renderovacímu procesu? To se ty roky vývoje vyplatí...
- Všechny taby v jednom procesu. Takže v jednom adresním prostoru. A to, aby se k datům webu banky nedostal javascript z jiné stránky, bude zase v režii aplikace (která se u nich mění co pět minut). Buffer overflow pak bohatě stačí...
- Zabitím pluginů zabili produkt.
- Odstraněním seskupení tabů odstranili poslední důvod, proč bych měl FF vůbec používat.
Takže za sebe, tleskám. Jedou rukou o čelo. Kvůli rozdělení výkonu a bezpečnosti patří každý tab do extra procesu. Opožděná kopie bude těžko lepší než předloha a originálního na FF, krom přešlapů, není nic.
Spíš na jaké planetě žije Firefox? Neřešme konkrétní OS nebo platformu, klidně uvažuj třeba WidloDOS 10.
Jeden proces obsahuje minimálně jedno vlákno, ale klidně je jich víc (například komunikace, paralelní výpočty). Vše v jednom procesu a se sdílením paměti, zamykání pomocí semaforů a mutexů,... To je příklad současnýho FF, kde taby sdílí paměť a při dynamické alokaci a nesmazání uvolněné paměti je přiděleno něco, kde už jsou data (klidně třeba PKI).
Pokud to nasekám do víc procesů, každý z nich má možnost obsloužit několik vláken.
To, co se píše v článku, to popisuje jako dělení vodorovně - jedna vrstva UI, druhá pluginy, třetí zpracování a renderování webu a svislý dělení je do vláken (pro každý tab). Na každé z těchto úrovní je sdíleí paměti, ale plugin nevidí přímo data, který má zpracovat a je potřeba na to jít třeba pomocí roury. Ale zato vidí na data sousedního tabu, a to je blbě - v jednom tabu může jet třeba bankovnictví nebo jiná důvěrná aplikace. A všechny animace všech tabů furt odře jedno CPU.
Mnohem lepší by bylo sekat svisle na procesy, kdy každý tab dostane svou RAMku, kde si nasdílí data, nevidí ostatní taby, může jet na libovolným CPU a plugin si udělá svoje vlákno na přehrávání zvuku, který se může dostat jenom k datům s ním zobrazené stránky. A jeden proces, který to zaštítí oknem a řízením.
Otázka je, co na tom e10s trvalo tak dlouho? Vymýšlení a testování ochrany paměti tabu? Nebo vymýšlení rychlé komunikace mezi procesy, když plugin potřebuje sosat data ze stránky a rychle je předávat? Obojí by měli při dělení svisle zadarmo... Prostě FF je čím dál víc bastl.
Podle toho, co píše autor článku, se problém víceméně nevyřeší – konkrétně to, že kvůli špatnému JavaScriptu v jednom tabu zamrzne/spadne vše, anebo se v lepším případě zpomalí celé UI a všechny ostatní taby až do nepoužitelného stavu.
Zřejmě to tedy nebylo vícevláknové dostatečně. Neznám sice kód Firefoxu, abych věděl, co přesně je tam špatně, ale technicky je možné v rámci jednoho procesu běhat desítky nebo i stovky navzájem nezávislých vláken a pád jednoho nemusí nijak neovlivnit ostatní. I přesto, že ve víceprocesové aplikaci bude nějaká paměť sdílená, stále je tam oproti vícevláknové aplikaci mnohem více režie na meziprocesovou komunikaci i na procesově specifickou paměť, kterou mezi jinými procesy sdílet nelze. Na toto by se měli spíše zaměřit.
No vidis, to mas dobry. Ja mam v PM otevreno 9 oken, okolo 200 tabu. Z 2GB RAM mi zbyva pulka, Aom chrochta okolo 5% az 10%, obcas na chvili vyskoci na 30%.
To diky rozsirenim, jejichz obdobu se mi na Chrome nepodarilo sehnat. Takze dlouho neaktivni stranky se suspendnou a pak odloaduji. Chrome mi zabije stroj i s jednou strankou, dokonce snad i jen s prazdnou uvodni, coz ve me jaksi vyvolava pocit, ze soudruzi neco poradne zorali, protoze aplikace, ktera zere tolik CPU na to, ze nic nedela, stoji za kybl prujmu.
Soudruzi z Google nic neposrali. Soudruzi z Google se snaží využívat běžný moderní HW tak, aby výsledek pro uživatele byl v aplikaci co nejlepší. Bohužel CPU Atom není moderní procesor (vrací se technologicky do dob 486) a tak na takovém HW to bohužel má efekt opačný. Nicméně tahový HW asi není cílovka pro Chrome / Chromium.
Mi naopak Google Chrome / Chromium běhá na mém PC nejrychleji ze všech majoritních prohlížečů. RAM mám 16 GB, takže jsem rád, že ji nejčastěji používaná aplikace využívá ke zrychlení práce na webu.
Nejak mi unika, cim presne je pro uzivatele nejlepsi, kdyz mu 10 stranek sezere 1 GB RAM. Pricemz vhodne zvolene debilni stranky dokazi dukladne zatizit libovolny procesor.
Stara Opera do 1 GB dokazala nacpat o dost vice stranek a k tomu jeste znovuotevreni zavreneho tabu nebo navrat na predchozi stranku byly prakticky okamzite. Ztimco jine browsery to vse znovu renderuji, Opera to odnekud vysypala bez cekani.
Lepsi je to v tom, ze stara Opera zretelne vyuzivala HW prostredky efektivne, zatimco Chrome je do nebe volajici prasarna, ktera s HW prostredky zachazi, jako by uzivatel na tech deset stranek mel k dispozici obzvlaste husty vypocetni cluster. Chrome je dobry pro lidi, kteri maji otevrene tri taby: Fejsbuuk, Guugle mail a Seznam.
Využívá prostředky efektivně a proto je to na běžném moderním HW pomalejší, zatímco se HW fláká? To asi těžko. :)
Momentálně mám v Chrome otevřeno 42 tabů ve dvou oknech. A to jen proto, že jsem 4 okna před chvílí pozavíral...
Atom prostě není moderní HW a nepatří moc do téhle doby (nebo aspoň ten co máte vy). Smiř(te) se s tím. I Palemoon vychází kompilovaný extra pro tyhle CPU pokud mě paměť neklame a pak pro běžný "normální" HW, protože jinak se vleče a neumí využít správně to co má k dispozici...
Prosím Vás, když této oblasti hardwaru nerozumíte, tak ji nekomentujte. Ano, první Atom byl velice jednoduchý a čipová sada bylo hodně zastaralá, dokonce žrala víc jak plně vytížený Atom a to pořád. Poslední Atomy s jádrem Silvermont nebo novějším jsou ale úplně v pořádku a na většinu běžných činností, jako prohlížení moderního webu s přehledem stačí. Taky možnosti připojení dalších komponent jsou již o dost praktičtější.
Jsem toho názoru, že absolutní výkon se nemusí v případě softwaru vylučovat s efektivitou. Vždyť to jsou vlastně jakési úlohy a lepší procesor může za jednotku času odbavit a zpracovat více těchto úloh. Že výkonnější hardware obyčejně není super úsporný je věc fyziky. Software je ale čistě imaginární záležitost, která shodou okolností může ovlivnit fyzické vlastnosti hardwaru šikovným návrhem programu/ operačního systému atd. To je ale prostě proto, že některé algoritmy jsou efektivnější, že některé instrukce jinak vytěžují procesor apod.
Podle mých závěrů by tedy lepší hardware měl třeba umožnit vedle prohlížení webu něco kompilovat, provozovat virtuální stroje, převádět média a konečně udržet třeba více záložek v paměti. Ono je to totiž taky dobrý benchmark, když se autoři prohlížečů a webových stránek nemůžou na slabším hardware moc rozežírat, ale asi nemá každý takové nároky na kvalitu.
Prosím Vás, když této oblasti hardwaru nerozumíte, tak ji nekomentujte. Ano, první Atom byl velice jednoduchý a čipová sada bylo hodně zastaralá, dokonce žrala víc jak plně vytížený Atom a to pořád. Poslední Atomy s jádrem Silvermont nebo novějším
Nevím jestli reagujete na mě, diskuze je nepřehledná, ale jestli jo, tak by bylo fajn, kdyby jste reagoval komplet v kontextu:
1. Psal jsem někde, že se jedná o ty první Atomy hlavně
2. Jarda_P má právě tenhle starý
3. Jarda_P to samozřejmě zabíjí i RAM pamětí, protože 2 GB je fakt málo, obzvlášť když se to s sdílí s video RAM
Jarda_P to samozřejmě zabíjí i RAM pamětí, protože 2 GB je fakt málo, obzvlášť když se to s sdílí s video RAM
2 GB staci. Zalezi na tom, jak blbe ji ktery program vyuziva. Ostatne s tvoji logikou by kdysi stary Tatraplan namisto aerodynamicke karoserie dostal trikrat tak vykonny motor, vypadal by jak konsky potah a i s tim vetsim motorem by 140 km/h nejezdil.
Porovnávat auta a počítače je k ničemu.
Auta se od prvních z konce 19. století v podstatě nezměnily, akorát jsou o něco pohodlnější, rychlejší...
Osobní počítače jsou tu s námi necelých 40. let a za tu dobu se vyvinuly tak, že kdyby se takhle vyvíjely auta, tak jsou dávno na nějaký zajímavější typ pohonu a budou schopny minimálně lítat a každý bude mít několik na různé použití.
Tak mam zase pocit bezmocnosti.
Jako uz ostatne mockrat od doby firefoxu 3.5 - to byla asi posledni verze ktera byla "normalni". Od te doby mam smulu - at chci, nebo nechci, s kazdym updatem dostavam horsi, a horsi uzivatelske prostredi, stale hure se mi pracuje, protoze mozilla odstranuje funkcionalitu, klavesove zkratky a jine "sikovne veci" (napr. kdysi fungovalo na "save link as" kliknuti shift+leve mysitko), postupne vede vyhlazovaci valku proti rozsirenim (ne kazdy autor rozsireni ma naladu kazde 2 mesice predelavat sve rozsireni, jenom proto, ze v mozille nekomu ruplo v bedne) a celkove se proste chova podle soucasne mainstreamove "mody", ktera rika: "80% uzivatelu jsou debilni idioti. Proto budeme delat SW pro debilni idioty. Pokud nejste debilni idiot, mate smulu, pro vas v nasem krasnem novem IT svete neni misto"
Takze ted mozilla v ramci boje o uzivatele zase priblizuje firefox k tomu, aby vypadal jako kopie chromu. Logika je to samozrejme debilni, protoze BFU bud pouziva IE nebo chrome, a nema duvod instalovat si nejaky Fire-Chrome-fox, a ti co firefox pouzivaji, jsou cilem vyhlazovaci valky vedene prostrednictvim debilizace UI a likvidaci rozsireni a pluginu. Takze drive nebo pozdeji i ti prejdou na chrome.
Good job!
Proklinam mozillu, at jejim vyvojarum nestoji pera a at se jejich vyvojarky nikdy nedosahnou orgasmu! Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!
Na svete jsou dva druhy lidi. Jedni, co porad pouzivaji FF a neustale nadavaji, jak je to s kazdou verci vetsi sracka. A pak ti druzi, co uz davno presli na Pale Moon. Ten, krome toho, ze nepodleha posledni googlacke mode, ma vyhodu i v tom, ze pri stejnem zpusobu pouzivani, si vystaci s mnohem mensi zatezi CPU. FF na tom kdysi byl take tak, ale pak nekde neco posrali a od te doby to zere, jak nezavrene.
Firefox je jednoznačně nejméně náročný na hw a běží rozumně i na slabých konfiguracích (pokud je funkční hw akcelerace). UI mi taky vyhovuje nejvíce, zvlášť záložky v postranním panelu. Palemoon jsem zkoušel taky, ale nefungovala tam správně akcelerace, takže ve výsledku byl horší než FF. Jak se říká, mezi slepýma jednooký králem. Jenom doufám, že se to s e10s nezhorší.
To víte, na českých serverech o Linuxu se sdružují lidé, pro které cokoliv nového je automaticky špatné. Zvenčí by se dalo čekat, že populace zabývající se něčím tak živým a pokrokovým, jako je IT, se nebude skládat ze žlučovitých konzervativců, ale kdovíproč vidíme opak. Osobně si myslím, že je to nějaký východoevropský problém – docela rád bych ho zkoumal a dozvěděl se víc. Komentáře pod články o Firefoxu bývají dobré příležitosti ke sběru dat.
Byvaly doby, kdy nove veci byvaly obvykle lepsi, nez ty stare. Neco dobreho pribylo, neco ze zlepsilo.... Az jednoho studnice uzitecnych veci ponekud vyschla a uz se tam tezko hledaji. A zlepsovat veci, ktere jiz byly tisickrat zlepsene, je dost tezke. Tak vyvojari misto toho zacali implementovat picoviny a rozbijet veci, na ktere byli lidi zvykli. Samozrejme, vzdy se najde nejaky Marek S., ktery s nadsemim uvita novy FF nebo novy model automobilu, do ktereho se leze strechou, obvykle slanovanim z vetve, aby se neposkrabal lak.
BTW, jeste do dnesniho rana jsem si myslel, ze pocet kol na motorce se zastavil na trech. Ovsem dnes jsem videl cyrkolovou. Doufam, ze uz ji mate koupenou.
Mě přijde že to je tím jaké lidi produkuje naše školství. Prostě na technických školách vznikají výkonní fachidioti, kteří absolutně nechápou, že existují i jiné věci než jejich obor, jak komunikovat s ostatními nebo jak funguje lidská společnost. Každou prkotinu potom vyhrocují do absurdity (např. ve firefoxu se posunulo tlačítko o 5 pixelů, teď už se to nedá používat). Jenže jediné co dělají je neustálé nadávání. Nejsou schopní se odhodlat k akci aby udělali něco co by jejich nespokojenost vyřešilo (založit bugreport, napsat patch, přejít na jiný prohlížeč, přestat používat počítač). A to samé (ne)dělají i v reálném životě. Vidím to dnes a denně v práci, kdy lidi co mají plat 60 a víc tisíc měsíčně neustále brečí, že nemají kde zadarmo zaparkovat, ale stížnost na město nepošlou, v nedaleké garáži si místo nepronajmou, i když na ní celý rok visí inzerát. Prostě jenom spokojeně nadávají, jak jim svět ubližuje. Samozřejmě takhle funguje i třeba spousta dělníků, jenomže ti většinou nemají intelektuálně na víc, a proto je to u techniků tak smutné.
Ale houby. Těch vlivů na kryplení SW je víc:
1) Došly featury, po kterých volali zákazníci
2) Došly featury, co se dají nabídnout zákazníkům jako motivace ke koupi vyšší verze.
3) Je potřeba vykázat činnost, aby dotyčný dostal plat. Rozbití programu je činnost.
4) Výkonu je tolik, že lidi neuvažují nad optimalizací / neví, jak to dělat.
5) I hardware má svou nenažranou abstrakci v podobě JRE, .NET,...
6) Sofťáci mají problém pochopit i jak funguje dědičnost, nemůžeš po nich chtít, aby viděli rozdíl v ceně mezi třídou a strukturou.
Jedinci, u kterých se při výpočtu kvadratické rovnice pro EQ dostaneš na záporný diskriminant a doménovou znalost neřeší, jsou jenom třešnička na dortu.
Btw, špatně to dopadne, pokud vedení projektu řekne, že co půl roku bude vydání s něčím novým a nikdo nemá představu, jakou novou cool věc by za toho půl roku udělal... pak jsou výsledky typu:
- Předěláme UI, na prezentaci uvidí bedení rozdíl mezi dvojicí screenshotů okamžitě.
- Tuhle funkci používá jenom 30% lidí, takže většině nebude chybět. V tomhle vydání ji vyhodíme, za dva roky vrátíme a máme 2x splněno
- Dlouhodobý projekt, kde se dva roky zdánlivě nic neděje, pak se spustí nějaká konina pro 10% uživatelů a co půl roku se přidává návaznost pro další část uživatelů s nějakým "specifikem", třeba těm, co mají navíc IPv6 nebo cokoliv jinýho.
- Když teď něco rozbiju, můžu to za půl roku fixnout a mám na rok práci.
Kdyby si novinky jenom vymýšleli a hráli v pracovní době piškvorky, tak udělají líp (pro uživatele)
Ale houbeles, proti Australisu bylo tolik řevu, že ozvěny máme doteďka, a myslíš si že to někoho zajímalo? Prostě si udělali, co chtěli, uživateli naser si (ani vypnout v nastavení to nejde, ostatně jako spousta dalších věcí). Tadyten svět na ten datamining a neokapitalistickej kryptokomunismus jednou zdechne.
Osobně za tím vidím spíš takový obecný nechtěný syndrom spojený se stárnutím, kdy člověk z paměti vytěsňuje to špatné a nechává v ní jen to dobré. Cokoliv nového už nebude tak dobré, jako minulost selektivně očesaná o negativa. Za našich mladejch let, bejval svět jako květ, jak se kdysi zpívávalo.
Buď si to člověk uvědomuje a nenechá se tím ovlivňovat, nebo se tím naopak nechá strhnout naplno a začne na cokoliv nového nadávat, aniž by to vůbec ještě viděl, živit v sobě nechuť přizpůsobit se jakýmkoliv změnám(To fakt mám kliknout o 5 pixelů víc doprava? Zbláznili jste se? ...) a stane se z něj neflexibilní kokot, šířící kolem sebe negativismus na všechny strany.
Pokud s prichodem Australisu (ci jak se ten kram jmenuje) zakazali moznost nastavit si tlacitka podle sebe, svedci to o neflexibilnosti tvurcu a nikoliv uzivatelu. Je opravdu tak velky problem, ze si to kazdy mohl nastavit podle sebe?
Presne tohle je totiz vec, co se mi na PC vecech libi, ze mohu mit neco podle sebe a ne jako jinde, kde se miliony uzivatelu musi drbat levou nohou za pravych uchem a jeste to vsem pripada normalni.
Já přece netvrdím, že nové je vždycky lepší. Jenom se snažím pochopit, proč je pro některé nové vždycky to horší. Mimochodem tu vaší "debilizaci" by spousta lidí označila jako "zpřehlednění". Sto lidí, sto chutí. Zabití XUL má podstatné technické důvody, které vy jako uživatel možná vidět nechcete, ale vývojáři se s nimi potýkat musí a než by kupili jeden hnůj na druhý, tak se rozhodli jednou za čas zase pořádně vykydat. Nemám s tím problém.
Az na to ze ty "podstatny duvody" sou vyhradne zvasty a kecy. Neexistuje totiz duvod ani jeden jedinej, krome naprosty neschopnosti a tuposti. Ale co, trh zjevne funguje, a podil FF pada a pada vesle dal. Ono totiz pokud si mam vybrat mezi chrofoxem a chromajzelm, tak to si radsi vyberu chromajzla.
palemoon - ma taky extension suspend tab ? nebo jak to je obecne s rozsirenimi pro palemoon ? daji se nejak prinutit aby chodily ty pro firefox (treba nastavenim pro nejakou verzi ff, stazenim xpi, rozbalenim, zmenou neceho ..) nebo jsem odkazanej jen https://addons.palemoon.org/extensions/all-extensions/ a pak lovit po forech atd ... ?
neco jsem nasel .. https://addons.mozilla.org/en-US/firefox/search/?q=Search%20Add-ons&appver=24.9
tudy ? ale obecne by mne zajimalo to rucni stazeni xpi z addons.mozilla.com, rozbaleni, zmena, zabaleni, manualni instalace do palemoon
Většinou lze použít normálně https://addons.mozilla.org/cs/firefox/ (a podobně), akorát vybrat starší verzi (pokud pro daný addon už existovala).
Jen mozilla stránky starší verze pečlivě schovávají, takže se na ně člověk dostane až rozkliknutím "Informace o verzi" dole a až tam se objeví odkaz na "Zobrazit celou historii verzí" - a v ní už jen vybrat. Dokonce to, po najetí kurzorem na verzi, ukazuje, zda addon je či není určen pro danou verzi.
Navíc nezakazuje zkusit instalovat i novější /pokud to nezakazuje klient, netuším zda jsem něco neměnil v config:about/, tak člověk může zkusit, zda i novější neprojde (dříve často ano, ale ty nůžky se rozevírají čím dál více).