SlideShare une entreprise Scribd logo
La rencontre avec
ASMJS et Emscripten
Le canvas c'est cool
mais ca a ses limites
Consommation de ressources
Importantes et monopolise
l'UI Thread

IT'S
CANVAS

TIME

Canvas Plz !

UI
Thread
Comment marche JPEG
Trop compliqué pour moi
Here come our saviors
Webworker
Emscripten
asm.js
Webworker
- Parallèlisation
- API pauvre
Emscripten
- LLVM bitcode to Javascript
- compile directement en asm.js
ASM.JS
- plus rapide que le js normal
- plus chiant a écrire que du js normal

Avec la librairie nanojpg sur 1000 chargements
d'une image de 5Mo
●
Chargement natif en blob dans conteneur img 500 ms
●
Chargement avec nanojpg compilé avec emscripten 700 ms
Fucking Emscripten.
How do you work ?
Emscripten
Compilation
●
●

Directement vers JS, ou LLVM bitcode
Possibilité d'utiliser ./configure et make grâce a emconfigure et emmake
Emscripten
Export de fonction
Emscripten
Optimisation
●
●

Optimisation llvm et js (possible de séparer les grâce a –llvm-opts n)
Lorsqu'on compile en O3 la variable Module devient q
Questions

Contenu connexe

Tendances

Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
Khalid Jebbari
 
WebHookIt @parisjs #4
WebHookIt @parisjs #4WebHookIt @parisjs #4
WebHookIt @parisjs #4
Eric Abouaf
 
Atelier node.js
Atelier node.jsAtelier node.js
Atelier node.js
antopensource
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Eric D.
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006
Eric D.
 
EventMachine
EventMachineEventMachine
EventMachineLeTesteur
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoosejeromegn
 
Express1
Express1Express1
Express1
eric German
 
CasperJS
CasperJSCasperJS
CasperJS
Kévin Lion
 

Tendances (9)

Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
WebHookIt @parisjs #4
WebHookIt @parisjs #4WebHookIt @parisjs #4
WebHookIt @parisjs #4
 
Atelier node.js
Atelier node.jsAtelier node.js
Atelier node.js
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006
 
EventMachine
EventMachineEventMachine
EventMachine
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
 
Express1
Express1Express1
Express1
 
CasperJS
CasperJSCasperJS
CasperJS
 

Talk LyonJS FranzP - Emscripten et asm.js