Autor | Zpráva | ||
---|---|---|---|
habendorf Profil |
#1 · Zasláno: 7. 9. 2005, 00:31:22
Zkusil jsem si udělat malý testík rychlosti zpracování JS v různých browserech - a výsledek mi tak trochu vyrazil dech.
Zkuste sami - http://www.brs.cz/pokusy/js-grafy.html Na mém počítači (doma mám docela šunku) - průměrné hodnoty: IE - 320ms FF - 1960ms (!) Opera - 5380ms (!!!) Takové rozdíly jsem tedy nečekal... Uvítám vaše postřehy, jestli budete mít taky takové rozdíly. |
||
marek_sk Profil * |
#2 · Zasláno: 7. 9. 2005, 00:49:29
Zajímavé, to bych nečekal. Mám ještě větší šunku, ale poměr IE a FF je stejný, Opera netestována. I když je otázkou, co má ten testík vlastně dokázat.
Sám jsem dělal malou JavaScriptovou aplikaci, měnící již vykreslený dokument. Časy jsem neměřil, ale FF a Opera byly hotovy ihned, zatímco IE to trvalo zlomky vteřiny až vteřinu i na velmi dobrém hw. |
||
habendorf Profil |
#3 · Zasláno: 7. 9. 2005, 00:58:22
I když je otázkou, co má ten testík vlastně dokázat.
Nic, byl to jen pokus. Možná že při jiné metodě by výsledky byly úplně jiné. Ten skript v cyklu vypočítává hodnoty sin (x) a cos (x) a následně je pomocí position:absolut vykresluje do grafu. Než se rozběhne cyklus, spustí se stopky a po kompletním vykreslení se stopky zastaví. Viz kód. |
||
thingwath Profil |
#4 · Zasláno: 7. 9. 2005, 01:21:58
Není to spíš test té grafiky? Což tak jenom nějaké počítání? (nerozumím JS)
|
||
Fred Profil |
#5 · Zasláno: 7. 9. 2005, 07:53:19
Je to jenom počítání.
|
||
Radek Hrabůvka Profil |
#6 · Zasláno: 7. 9. 2005, 10:11:17
Jednoduché počítání
<script> a=0 for (i=1; i <= 1000000; i++) a=a+i document.write(a) </script> Sčítá 1+2+3....+1000000 Výsledek vypíše na konci, kdo to chce zkoušet na slabší mašině, může počítat součet do nižšího čísla. V JS se moc nevyznám, nedokážu tam zabudovat stopky, ale krom starce Netscape 4.7 byly výsledky prohlížečů srovnatelné. Náročnější počítání: Zkusil jsem nechat vypočítat a sčítat sinus, opět srovnatelné výsledky v běžných prohlížečích. <script> a=0 for (i=1; i <= 500000; i++) { with (Math) {a=sin(i) } a=a+a } document.write(a) </script> Ve výše uvedeném příkladu zcela jistě brzdí vykreslování sinusoidy. Jen to dokazuje, že různé věci trvají prohlížečům různou dobu. |
||
Leo Profil |
#7 · Zasláno: 7. 9. 2005, 10:11:57
On se kazdy kod da optimalizovat, a to ruzne pro ruzne prohlizece, ale je fakt, ze co se tyka podobnych konstrukci tak jsem u Opery vzdycky narazil na pomalost... Leo
|
||
habendorf Profil |
#8 · Zasláno: 7. 9. 2005, 11:06:32
Tak jsem tam ještě včera dodělal to počítání, teď jsem to tam uploadnul.
Zajímavé je, že jsem prvně počítal 170! (faktoriál), ale ten to počítalo neuvěřitelně rychle. Takže sčítám od 1 do 500.000. Sedím teď na notebooku, ten je rychlejší, výsledky jsou v průměru (graf, součet): IE - 120ms, 510ms FF - 330ms, 1230ms Opera - 970ms, 670ms |
||
Leo Profil |
#9 · Zasláno: 7. 9. 2005, 12:18:40
Vypocty behaji rychle, co nejvic zdrzuje je vykreslovani a prace s objekty documentu, Leo
|
||
peta Profil * |
#10 · Zasláno: 7. 9. 2005, 12:19:53
habendorf
OffTopic tam vubec nevadi :))) Jenze mi ten tvuj upraveny script trva ve FF 235 www.volny.cz/peter.mlich/Pr/efekty/grafy.htm Podle toho tu nahore jsem pochopil, zes to srovnaval v IE. Jediny velky rozdil byl v tom, ze: - deklaroval jsem vsechny promenny na zacatku: var start,stop1,stop2,osaX,sinusoida,cosinusoida,tangentoida, x,a,b,c,d; - pouzil jsem pricitani do promenne misto toho, abych zatezoval prohlizec vypisovanim document.write() v kazdem cyklu Ten script nech, dam to do czilly :) |
||
peta Profil * |
#11 · Zasláno: 7. 9. 2005, 12:20:41
habendorf jo, a totez v opere, ten cas.
|
||
peta Profil * |
#12 · Zasláno: 7. 9. 2005, 12:29:27
habendorf
Jo, jeste sem tam dal pouze 450 misto 750 ten cyklus, ale to si muzes snadno zmenit. Dulezity je ten cas, ten je stejny. |
||
peta Profil * |
#13 · Zasláno: 7. 9. 2005, 12:32:58
Radek Hrabůvka
mam na webce testy sorting, kde zkousim ruzny algoritmy. dost se tam projevuje deklarovani promennych, zrejme se to brzdi pri pretypovavani. |
||
Fred Profil |
#14 · Zasláno: 7. 9. 2005, 12:33:37
habendorf To fakt záleží na scriptu, v DOMU je nejpomalejší můj favorit Firefox zkus: http://xy.wz.cz/cas.htm
Na lokále to vypadá u mně takhle: FF 1.0.4 94ms FB 0.7 93ms IE 6 31ms IE 5 47ms IE 5.5 94ms IE 7 78ms K-meleon 0.7 78ms K-meleon 0.9 94ms Op 7.23 78ms Op 7.5 63ms Op 8 15ms vítěz testu (bylo nutné upravit styl neumí malá procenta width:0.390625%;} /*100/256=0.390625*/) Deer park Alpha 2 (ff 1.6a1) 109ms |
||
habendorf Profil |
#15 · Zasláno: 7. 9. 2005, 12:53:07
Fred: jo, to je jasný že záleží na konkrétním skriptu. Já ani nechtěl rozdmýchat bouřlivé debaty o kvalitě browserů. Začlo to tak, že jsem zkusil vykreslit graf. Pak jsem si všiml, že se Opera hrozně vleče, tak jsem tam dodělal ty stopky. A protože mě výsledky dost překvapily, tak jsem je zde zveřejnil.
Tvůj skript z webu (ale IMHO je jedno jestli z webu nebo z lokálu, je to přece JS): IE 6: 50ms FF 1.06: 50 - 60ms Opera 8.02: - 20ms |
||
habendorf Profil |
#16 · Zasláno: 7. 9. 2005, 13:02:42
Palm Tungsten T5, prohlížeč Blazer
výpočet součtu: 186.880ms, tedy >3minuty :o) |
||
peta Profil * |
#17 · Zasláno: 7. 9. 2005, 17:17:57
|
||
Leo Profil |
#18 · Zasláno: 7. 9. 2005, 18:28:57
186.880 je 180 tisic nebo 180,880? Leo
|
||
halogan Profil |
#19 · Zasláno: 7. 9. 2005, 19:09:31
Podle dodanych tri minut do bude 180 tisic
|
||
Fred Profil |
#20 · Zasláno: 7. 9. 2005, 19:22:36
habendorf Tak jsem udělal to Tvoje přes DOM, rychlost je u mě obrácená. http://xy.wz.cz/testik.html
Nejdřív jsem se spletl a tvořil v tom druhém spanu písmeno o místo . a rychlost byla o dost vyšší což vůbec nechápu. Opera 8 562ms Firebird 1875ms Firefox 1750ms IE6 2578ms IE7 2813ms |
||
peta Profil * |
#21 · Zasláno: 7. 9. 2005, 19:54:21
Fred
Taky to mam v JS DOM http://www.volny.cz/peter.mlich/Pr/efekty/grafy2.htm FF 1.06 2800 ms Deep park 1.0 3500ms (to je nejaka odnoz FF) IE 6.0 600ms Opera 8.0 250-400 ms JS www.volny.cz/peter.mlich/Pr/efekty/grafy1.htm FF 350 ms DP 350 ms IE 250 ms O 350 ms Jeste to prevedu zpatky na document.write :) |
||
peta Profil * |
#22 · Zasláno: 7. 9. 2005, 21:27:17
Localhost - 2nd refresh AMD Sempron 1,68 GHz (2400+), delka 650
www.volny.cz/peter.mlich/Pr/efekty/grafy0.htm Nx document.write IE 6.0 170 ms FF 1.06 1900 ms Deep Park A (FFx) 350 ms Opera 8.0 6000 ms www.volny.cz/peter.mlich/Pr/efekty/grafy1.htm 1x document.write IE 6.0 550 ms FF 1.06 270 ms Deep Park A (FFx) 250 ms Opera 8.0 550 ms www.volny.cz/peter.mlich/Pr/efekty/grafy2.htm DOM IE 6.0 200 ms FF 1.06 2000 ms Deep Park A (FFx) 2000 ms Opera 8.0 400 ms Cimz opravuji zkreslene udaje pro Deep park, mi otevrel FF a to jeste zahadnym zpusobem s DP casti. A tamty hodnoty byli z inetu. Jeste zkusim jednu vezri DOMu |
||
habendorf Profil |
#23 · Zasláno: 7. 9. 2005, 21:32:25
Leo: 180 tisíc, už jsem myslel že palm zkolaboval, po třech minutách celej udejchanej vyplivnul výsledek.
Fred: Tak to je zajímavé, u mě ten tvůj skript vede jasně s převahou Opera, pak FF, pak IE - celkově je ale ten skript mnohem pomalejší. Přitom Opera u tebe úplně propadla (?). Mám Operu 8.02 Nejdřív jsem se spletl a tvořil v tom druhém spanu písmeno o místo . a rychlost byla o dost vyšší což vůbec nechápu. No já bych čekal že bude stejná, nebo že tečka bude rychlejší - taky mě to překvapuje. peta: Ten odkaz na walterzorn je sice zajímavej, ale souvislosti moc nechápu. Koukám že sinusovky zaplavily web :o) Zkrátka je vidět, že co browser to lepší/horší algoritmus v některé oblasti, v jiné oblasti je to jinak. Asi se obecně nedá říci, že interpretace JS je někde rychlejší a někde pomalejší. |
||
peta Profil * |
#24 · Zasláno: 7. 9. 2005, 21:47:23
habendorf :)))
Na czille to pawell vysvetluje, ze by to mohlo souviset s pozicovanim. Jeste zkusim par variant, treba apendovani provest naraz cyklem a vytvorit si tam pole prvku S tim pismenem jsem to nezkousel, to jako fakt, jo? To bych umrel smichy :) To jeste zkusim, nez pujdu na nejaky film :) |
||
peta Profil * |
#25 · Zasláno: 7. 9. 2005, 21:50:53
habendorf Zkousel jsem to jenom ve FF a chova se mi to s pismeny stejne. Ale ja tam taky pomoci CSS definuji verdanu a vysku. Pokud pouzije prohlizec pixelove pismo, pak to muze byt vskutku rychlejsi, viz IE (mozna je to proto)
|
||
peta Profil * |
#26 · Zasláno: 7. 9. 2005, 21:54:35
dopustil jsem se chybky pri zapisu:
1x document.write IE 6.0 200 ms DOM IE 6.0 550 ms |
||
peta Profil * |
#27 · Zasláno: 7. 9. 2005, 21:56:00
habendorf ten odkaz, to je odkaz na grafickou knihovnu, ze kdyz te to tak zajima, muzes se podivat tam, jak to resi :) Nevim, kdo mi to uz dal, ale je to pekny, jak jsi rekl. :) Nic vic :)
|
||
Fred Profil |
#28 · Zasláno: 7. 9. 2005, 22:48:58
habendorf To jsi se překouknul, vyšlo mi to stejně, a document.write na potvoru rychlejší, to snad ani radši neříkat nahlas.
Opera 8 - 562ms Firebird - 1875ms Firefox - 1750ms IE6 - 2578ms IE7 - 2813ms |
||
habendorf Profil |
#29 · Zasláno: 7. 9. 2005, 22:56:50 · Upravil/a: habendorf
Fred: Ups - já to četl jako Opera: 8562ms, ne jako Opera 8: 562ms :o)). Jo, bylo mi to divný.
|
||
Fred Profil |
#30 · Zasláno: 7. 9. 2005, 23:34:05
To jsem si myslel, zapoměl jsem, že diskuse odstraňuje mezery :-)
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0