Názory k článku
Do hlubin implementací JavaScriptu: 1. díl - úvod
RE: Do hlubin implementací JavaScriptu: 1. díl - úvod
celé vláknoRE: Do hlubin implementací JavaScriptu: 1. díl - úvod
celé vláknoRE: Do hlubin implementací JavaScriptu: 1. díl - úvod
celé vláknoRE: Do hlubin implementací JavaScriptu: 1. díl - úvod
celé vláknoRE: Do hlubin implementací JavaScriptu: 1. díl - úvod
celé vláknoRhino
celé vláknoRe: Rhino
celé vláknoSmalltalk
celé vláknoToto je dost odvazne tvrdenie: Ze širšího pohledu je také velice zajímavé, že zrychlování JavaScriptu posouvá "state-of-art" v oblasti interpretace dynamických jazyků obecně. Dynamické skriptovací jazyky (kam JavaScript patří) totiž obvykle slouží jen jako "lepidlo" komponent napsaných v jiných, rychlejších jazycích. Jejich rychlost tak není kriticky důležitá a tím pádem se výzkum v oblasti jejich interpretace nedostal příliš daleko - na rozdíl od oblasti kompilace "klasických" statických jazyků, která je intenzivně zkoumána přes 30 let.
Tak toto mi pride trochu pritiahnute za vlasy. Smalltalk je dufam dostatocne dynamicky jazyk a domnievam sa, ze by mohol hravo sutazit s JS zo Safari, WebKitu, Firefoxu a Opery. Staci si spustit lubovolny smalltalk - cele IDE je implementovane samozrejme v smalltalku. Je sice kompilovany do byte-kodu, ale samozrejme, ze nehovorim o nejakom javac'n'java kompilovani a nikto dufam nebrani prehliadacom pouzit JIT.
Odporucam sa pozriet na Just-in-time_compilation#History. V kazdom pripade by som si netrufol napisat, ze interpretacia dynamickych jazykov sa daleko nedostala, ani ze JavaScript nejak moc k tomu prispel/prispeje. [FLAME]Mozno konecne aj "jazycky" ako Python a Ruby trochu dotiahnu na Jazyk.[/FLAME]
Pre lenivych: Sun's Self language improved these techniques extensively and was at one point the fastest Smalltalk system in the world; achieving up to half the speed of optimized C[2] but with a fully object-oriented language.
Re: Smalltalk
celé vláknoTaky to moc nechápu. Co to vlastně znamená skriptovací, když v JS skripty asi taky nikdo moc nepíše? A co je to dynamický jazyk? A proč musí být interpretovaný, co brání v tom ho zkompilovat? A neexistují už náhodou kompilované verze? Je kompilovaný Common Lisp dynamický?
Re: Smalltalk
celé vláknoAd kompilátor vs. interpret. - opět je hranice trochu neostrá. Zjednodušeně (!) je pro mě interpret program, který na vstupu vezme program v nějakém jazyce a vydá na výstupu jeho výstup. Kompilátor naproti tomu vezme na vstupu program a na výstupu vydá jeho tranformovanou podobu, typicky kód virtuálního nebo reálného stroje. Je zřejmé, že interpret v sobě jako vnitřní součást může obsahovat kompilátor a nebo že nějaký program může být obojím.
Re: Smalltalk
celé vláknoOdkaz na paper od Sunu jsem si uložil k pozdějšímu přečtení a na oplátku přidávám odkaz na přednášku, která inspirovala citovaný odstavec: http://steve-yegge.blogspot.com/2008/05/dynamic-languages-strike-back.html.
Re: Smalltalk
celé vláknoAby nedošlo k omylu - to s čím ne zcela souhlasím jsou jen detaily, na seriál se těším, vypadá to zajímavě.
A co je to vlastně ten tracing? V článku je jen zmíněn, v odkázaném blogu o tom taky není... snad příští díl.
Re: Smalltalk
celé vlákno> dokud v Javascriptu nebudou nepovinné deklarace typu
Neukázalo se při implementaci Strongtalku, že po všech optimalizacích typu PIC (které se mimochodem používá i ve V8) jsou optimalizace na základě typových informací zbytečné? :-)
Jinak hezký článek o trace trees je třeba tohle FAQ.
Re: Smalltalk
celé vláknoA co je to vlastně ten tracing? V článku je jen zmíněn, v odkázaném blogu o tom taky není... snad příští díl.
Budu se tomu věnovat v dílu popisujícím SpiderMonkey (JS interpret ve Firefoxu).