Developpez.com

Le Club des Développeurs et IT Pro

Mozilla développe un moteur DOM multi-thread

Première application pratique du langage concurrentiel "Rust" créé par la fondation

Le 2011-06-17 13:12:24, par Idelways, Expert éminent sénior
Durant la conférence « Velocity » clôturée hier à Santa Clara, la fondation Mozilla a affiché ses ambitions de créer un moteur DOM multithread, permettant à plusieurs cœurs du processeur de participer au rendu des pages Web.

L'open source évangéliste Chris Blizzard croit fort en tout cas à ce projet, affirmant durant sa présentation qu'il s'agit là d'un domaine de recherche actif auquel il convie tous les développeurs.

Le projet n'en est qu'à ses balbutiements et sera l'une des premières applications sérieuses de Rust, un langage de programmation créé et maintenu depuis 2006 par la fondation.

Ce langage de bas niveau, fondamentalement conçu pour former un cadre sûr pour une programmation concurrentielle plus efficace, serait d'après la fondation le candidat idéal pour accomplir cette mission.

Actuellement, les navigateurs tirent profit du parallélisme en séparant les différents onglets ouverts sur plusieurs coeurs et en exécutant les plug-ins dans des processus séparés.

D'autres utilisations avancées poussent encore plus loin l'usage du multicoeur sur les navigateurs, comme c'est le cas avec les implémentations du standard WebGL et l'accélération matérielle via processeur graphique (GPU).

Le DOM (Document Object Model) est en revanche foncièrement monothread à l'heure actuelle et Mozilla reconnaît la difficulté de changer la nature de son fonctionnement.

Aucun planning n’est annoncé pour la sortie d’au moins un prototype. Il s’agit donc encore d’un délire de chercheurs, très ambitieux, mais très prometteur aussi.

En tout cas, cette aventure servira au moins à mettre à l'épreuve le langage Rust.

Source : Velocity

Et vous ?

Que pensez-vous du projet d'un DOM multi-thread ?
Le jugez-vous réellement utile et nécessaire ?
  Discussion forum
6 commentaires
  • MonsieurSmith
    Membre habitué
    Envoyé par Idelways
    Three months ago we introduced the Rust programming language, a new lower-level language that Mozilla is developing. At that point the bootstrap compiler was just beginning to support interesting constructs, the runtime system only worked correctly in single-threaded mode, and library code was mostly nonexistent.
    "A new lower-level language" devrait, me semble-t-il, être traduit par "un nouveau langage de plus bas niveau" : à prendre au sens relatif plutôt qu'absolu
  • gorgonite
    Rédacteur/Modérateur
    Envoyé par Uther
    Il est difficile d'établir une classification exacte des niveau de langage, mais sachant que C est généralement considéré comme un langage de haut niveau
    j'aurais plutôt dit "était, dans les années 70-80"

    depuis, C est l'un des langages les plus bas niveaux pour les développeurs qui ne touchent pas l'embarqué, aux drivers ou à des micro-optimisations hardcore
  • Firwen
    Membre expérimenté
    Ce langage de bas niveau, fondamentalement conçu pour former un cadre sûr pour une programmation concurrentielle plus efficace, serait d'après la fondation le candidat idéal pour accomplir cette mission.
    Tu pourrais mettre un lien, un article ou expliquer pourquoi tu considère Rust comme un langage de bas niveau.
    Celui-ci est syntaxiquement, trés proche d'OCaml qui est tout sauf un langage de bas niveau
  • Uther
    Expert éminent sénior
    Il est difficile d'établir une classification exacte des niveau de langage, mais sachant que C est généralement considéré comme un langage de haut niveau (même si c'est partiellement usurpé à mon avis), et que Rust est clairement bien plus haut niveau que le C, je dirais que parler de langage bas niveau pour Rust est clairement une erreur ...

    Envoyé par MonsieurSmith
    "A new lower-level language" devrait, me semble-t-il, être traduit par "un langage de plus bas niveau" : à prendre au sens relatif plutôt qu'absolu
    En effet, et Mozilla étant plutôt dans les moteurs JavaScript, je pense que ce que sous-entend le développeur de Rust par "lowerer level" est que Rust est un langage produisant des executables et pas un moteur de script.
  • negstek
    Membre confirmé
    J'espère en tout cas que ça n' utilisera pas plus de ressources que n'en consomme déjà mon navigateur...
  • Idelways
    Expert éminent sénior
    Bojour Firewen,

    Cette information provient de Mozilla, et plus précisément du blog de l'inventeur du langage : http://blog.mozilla.com/graydon/

    (je cite) :

    Three months ago we introduced the Rust programming language, a new lower-level language that Mozilla is developing. At that point the bootstrap compiler was just beginning to support interesting constructs, the runtime system only worked correctly in single-threaded mode, and library code was mostly nonexistent.
    Cordialement
    Idelways