Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaRebeka Kelemenné Megváltozta több, mint 10 éve
1
Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni? Farkas Máté Budapest.js meetup 2010.04.14.
2
A Javascript nem erre való! http://weblabor.hu//blogmarkok/104451#comment-67266
3
A Javascript ütemező működése http://ejohn.org/blog/how-javascript-timers-work/
4
A legnagyobb hátrány: • Amíg Javascriptben számítást végzünk, semmi más nem történhet a böngészőben • Kivétel jelenleg: Opera • És majd a Webkit 2 alapú böngészők
5
A megoldás: Web Worker • A Google Gears-féle WorkerPool szabványosítása, a HTML 5 része • A Worker egy teljesen különálló folyamatként dolgozik, csak a létrehozójával tud kommunikálni, és vele is csak üzenet küldéssel
6
index.html hello.js
7
Használati előnyök • A böngésző „lefagyasztása nélkül” tudunk hosszabb számításokat végezni • Kihasználhatóak a több magos processzorok • demo
8
Többszálú teljesítmény http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster_More_Powerful_JavaScript_World/
9
Böngésző támogatás • Chrome: minden worker új process • Safari: minden worker új szál • Firefox: nem string értékek küldése/fogadása is lehet • Opera: nem támogatja • Internet Explorer: nem támogatja
10
PHP 5.2: 5,26 sec A Javascript lassú.
11
Perl 5.10: 3,26 sec
12
Google Chrome 5: ??? sec
13
Google Chrome 5: 0,05 sec
14
Egy másik teszt
16
Böngésző támogatás 2 • A HTML 5 Worker nem kompatíbilis a Gears-féle WorkerPool-lal • Volt több próbálkozás szimulálni ezt a viselkedést (jsworker, ie-web- worker), de egyik sem kielégítő
17
emulatedWorker.js • Elég ezt betölteni, és a Worker API-t használó Javascript futni fog minden böngészőben… • … de ettől nem lesz többszálú… • … és komolyabb adatszerkezetek- nél bonyolult az üzengetés
18
objectWorker.js • Egy intuitív absztrakció a Workerek használatához • (Típusjelzéssel ellátott) objektumok küldése/fogadása • Eljárás hívás
19
Az objectWorker használata
20
A worker.js
21
Bonyolult? – Nem, sőt!
22
Na és az Internet Explorer?
23
Összefoglalás • Kis odafigyeléssel ma már írhatunk programot Javascriptben • Weboldalak esetén egyszerűen küldhetjük háttérbe a számítási feladatokat • Worker-képes böngészővel teher- mentesíthető a szerverünk
24
Köszönöm a figyelmet! Farkas Máté Budapest.js meetup 2010.04.14.
25
Forráskódok, források • HTML 5 Web Workers http://www.whatwg.org/specs/web- workers/current-work/http://www.whatwg.org/specs/web- workers/current-work/ • Mozilla MDC https://developer.mozilla.org/En/DOM/Workerhttps://developer.mozilla.org/En/DOM/Worker • http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster _More_Powerful_JavaScript_World/ http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster _More_Powerful_JavaScript_World/ • http://ejohn.org/blog/how-javascript-timers-work/ http://ejohn.org/blog/how-javascript-timers-work/ • Forráskódok: http://fmate14.try.hu/2010/bpjs-objectWorker/http://fmate14.try.hu/2010/bpjs-objectWorker/ • objectWorker és emulatedWorker: http://code.google.com/p/object-worker/ http://code.google.com/p/object-worker/
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.