T bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni
This presentation is the property of its rightful owner.
Sponsored Links
1 / 24

Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni? PowerPoint PPT Presentation


  • 45 Views
  • Uploaded on
  • Presentation posted in: General

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. A Javascript nem erre való!. http://weblabor.hu//blogmarkok/104451#comment-67266. A legnagyobb hátrány:.

Download Presentation

Többszálúság a böngészőben, avagy merjünk-e Javascriptben programot írni?

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


T bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni

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.


A javascript nem erre val

A Javascript nem erre való!

http://weblabor.hu//blogmarkok/104451#comment-67266


A legnagyobb h tr ny

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


A megold s web worker

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


T bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni

index.html

hello.js


Haszn lati el ny k

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


T bbsz l teljes tm ny

Többszálú teljesítmény

http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster_More_Powerful_JavaScript_World/


B ng sz t mogat s

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


T bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni

A Javascript lassú.

PHP 5.2: 5,26 sec


T bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni

Perl 5.10: 3,26 sec


T bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni

Google Chrome 5: ??? sec


T bbsz l s g a b ng sz ben avagy merj nk e javascriptben programot rni

Google Chrome 5: 0,05 sec


Egy m sik teszt

Egy másik teszt


B ng sz t mogat s 2

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ő


Emulatedworker js

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


Objectworker js

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


Az objectworker haszn lata

Az objectWorker használata


A worker js

A worker.js


Bonyolult nem s t

Bonyolult? – Nem, sőt!


Na s az internet explorer

Na és az Internet Explorer?


Sszefoglal s

Ö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


K sz n m a figyelmet

Köszönöm a figyelmet!

Farkas MátéBudapest.js meetup 2010.04.14.


Forr sk dok forr sok

Forráskódok, források

  • HTML 5 Web Workers http://www.whatwg.org/specs/web-workers/current-work/

  • Mozilla MDC https://developer.mozilla.org/En/DOM/Worker

  • http://www.yafla.com/dforbes/Web_Workers_and_You__A_Faster_More_Powerful_JavaScript_World/

  • http://ejohn.org/blog/how-javascript-timers-work/

  • Forráskódok: http://fmate14.try.hu/2010/bpjs-objectWorker/

  • objectWorker és emulatedWorker: http://code.google.com/p/object-worker/


  • Login