Publicité
+ Répondre à la discussion Actualité déjà publiée
Affichage des résultats 1 à 7 sur 7
  1. #1
    Responsable Actualités

    Avatar de Hinault Romaric
    Homme Profil pro Hinault Romaric
    Consultant
    Inscrit en
    janvier 2007
    Messages
    3 738
    Détails du profil
    Informations personnelles :
    Nom : Homme Hinault Romaric
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : janvier 2007
    Messages : 3 738
    Points : 50 311
    Points
    50 311

    Par défaut OdinMonkey booste les performances JavaScript de Firefox

    OdinMonkey booste les performances JavaScript de Firefox
    le module asm.js sera disponible dans Firefox 22

    Dans sa quête de meilleures performances pour l’exécution d’applications JavaScript, la fondation Mozilla a mis sur pied OdinMonkey, un nouveau module asm.js pour le moteur JavaScript de Firefox.

    D’après la description de Mozilla, asm.js est – purement - du code JavaScript « spécialement conçu », qui est compilé en langage natif C/C++ avec emscripten avant exécution. Le code asm.js exécuté avec un navigateur standard comme Chrome ou encore Firefox sans OdinMonkey est environ dix fois plus lent sur le premier et 12 fois plus lent sur le second par rapport au code natif.

    C’est à ce stade qu’intervient le module d’optimisation OdinMonkey. Il promet d’accélérer l’exécution de JavaScript au delà « des rêves les plus fous ». Selon Mozilla, il peut améliorer les performances JavaScript du moteur actuel de Firefox de près de 1000 %.


    Cette nouveauté permettra aux développeurs de créer des applications Web complexes (surtout des jeux), pouvant s’exécuter dans le navigateur avec une vitesse quasi similaire à une exécution en natif. Pour cela, il faudra juste se familiariser avec asm.js. Ce projet se positionne comme un sérieux concurrent de Native Client (technologie permettant d'exécuter du code C/C++ à l'intérieur du navigateur dans un environnement protégé) de Google.

    OdinMonkey a déjà été intégré dans la version Nightly de Firefox. Les développeurs enregistrés sur ce canal peuvent déjà tester la fonctionnalité sur un système d’exploitation Linux ou Windows. OS X n’est pas encore pris en charge.

    OdinMonkey sera disponible en juin avec la version finale de Firefox 22.

    Le projet asm.js

    Le projet emscripten sur GitHub

    Télécharger la version Nightly de Firefox


    Source : Mozilla


    Et vous ?

    Que pensez-vous du projet asm.js ?

    Allez-vous écrire votre code JavaScript en suivant les instructions que asm.js impose pour bénéficier des optimisations d'OdinMonkey ?
    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog Mes articles
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Expert Confirmé Sénior Avatar de Uther
    Homme Profil pro
    Inscrit en
    avril 2002
    Messages
    3 027
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 3 027
    Points : 5 829
    Points
    5 829

    Par défaut

    Que pensez-vous du projet asm.js ?
    Au début ça m'a choqué, mais plus j'y pense plus ça parait un excellente idée pour obtenir une sorte de bytecode commun a plusieurs langages mais sans créer de nouvelles incompatibilité: Les navigateur qui ne gerent pas asm.js accepteront le code sans problème, c'est juste que ça ne sera pas optimal en vitesse.

    A priori les gens d'epic on fait un port de l'unreal engine, ça semble prometteur.

    Je regrette juste que le projet ne soit tiré que par Mozilla pour le moment.

    Allez-vous écrire votre code JavaScript en suivant les instructions que asm.js impose pour bénéficier des optimisations d'OdinMonkey ?
    L'idée de base du projet n'est pas de faire manuellement du code asm.js (ce qui serait particulièrement indigeste), mais de faire que des langages puissent se compiler en asm.js, comme c'est déjà le cas pour le C/C++ via enscriptem.

  3. #3
    Expert Confirmé Sénior
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 698
    Points : 6 227
    Points
    6 227

    Par défaut

    Justement je me demande si ça pourrait être le ciment manquant entre le JS pur et les surcouches de style Dart. Une sorte de llvm pour navigateur.
    Je me vois pas trop écrire des kilomètres de code JS, en revanche dans un langage statique qui ensuite se compile vers une forme bien définie de JS optimisé c'est bien intéressant.

  4. #4
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    juillet 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2004
    Messages : 46
    Points : 154
    Points
    154

    Par défaut

    Pour ceux qui, comme moi, la phrase "D’après la description de Mozilla, asm.js est – purement - du code JavaScript « spécialement conçu », qui est compilé en langage natif C/C++ avec emscripten avant exécution." laisse perplexe, j'ai fait un petit dessin après enquête pour mieux comprendre. J'espère que ça aidera !

    http://i.imgur.com/kmRqv92.png?1

    En dernière étape, OdinMonkey traduit le javascript produit (qui est un sous-ensemble utilisant asm.js) en code natif, d'où le gain de performance indéniable.

    Sources :
    http://ejohn.org/blog/asmjs-javascript-compile-target/
    http://kripken.github.io/mloc_emscripten_talk/#/
    http://www.extremetech.com/computing...y-1000-or-more

  5. #5
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    juillet 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2004
    Messages : 46
    Points : 154
    Points
    154

    Par défaut

    Mais en fait c'est normal que l'on ne comprenne rien : la news est très mal rédigée, voir carrément fautive !

    Dans sa quête de meilleures performances pour l’exécution d’applications JavaScript, la fondation Mozilla a mis sur pied OdinMonkey, un nouveau module asm.js pour le moteur JavaScript de Firefox.
    Faux : OdinMonkey est un compilateur à la volée de Javascript qui fait parti du moteur Javascript SpiderMonkey de Firefox. Le moteur SpiderMonkey comporte au moins deux autres compilateurs à la volée : JaegerMonkey et IonMonkey. IonMonkey produit un code plus optimisé mais avec un coût temporel non négligeable, le choix entre les deux est dynamique [1].

    D’après la description de Mozilla, asm.js est – purement - du code JavaScript « spécialement conçu », qui est compilé en langage natif C/C++ avec emscripten avant exécution. Le code asm.js exécuté avec un navigateur standard comme Chrome ou encore Firefox sans OdinMonkey est environ dix fois plus lent sur le premier et 12 fois plus lent sur le second par rapport au code natif.
    Faux : Emscripten*** s'inscrit dans une chaîne qui compile du C/C++ vers du Javascript (et pas l'inverse !!!), plus particulièrement ici un sous-ensemble de Javascript appelé asm.js.

    C’est à ce stade qu’intervient le module d’optimisation OdinMonkey. Il promet d’accélérer l’exécution de JavaScript au delà « des rêves les plus fous ». Selon Mozilla, il peut améliorer les performances JavaScript du moteur actuel de Firefox de près de 1000 %.
    Et là OdinMonkey traduit le javascript spécialement conçu en code natif.

    Merci de ne pas tout mélanger !

    *** en détails Emscripten s'occupe précisément de traduire la représentation intermédiaire LLVM en Javascript.
    1. Source : Blog de Mozilla sur Javascript
    Images attachées Images attachées

  6. #6
    Expert Confirmé Sénior Avatar de Uther
    Homme Profil pro
    Inscrit en
    avril 2002
    Messages
    3 027
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 3 027
    Points : 5 829
    Points
    5 829

    Par défaut

    Citation Envoyé par Xitog
    Faux : OdinMonkey est un module pour le moteur Javascript de Firefox, nommé IonMonkey.
    Quitte a reprendre, autant le faire bien:
    OdinMonkey est un module du moteur Javascript de Firefox nommé SpiderMonkey.

    IonMonkey n'est lui aussi qu'un module de SpiderMonkey en charge de la compilation JIT des portion de code Javascript nécessitant des performances très élevés.

  7. #7
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    juillet 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juillet 2004
    Messages : 46
    Points : 154
    Points
    154

    Par défaut

    Merci, j'ai corrigé dans le billet en question (pour ne pas laisser une phrase fausse) mais j'indique ma dette ici. J'ai été induit en erreur par l'article que je cite en source qui dit :
    OdinMonkey is a module for Firefox’s IonMonkey JS engine
    Moralité : toujours tout vérifier.

    J'en profite aussi pour signaler aussi une actualité en date du 5 avril 2013 : SpiderMonkey va se doter d'un autre compilateur à la volée, Baseline.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •