Programmez! #239 PDF pour nos abonnés papier

Abonnés papier : en raison de la situation due au coronavirus, des retards sont à prévoir en ce qui concerne la distribution de Programmez! #239 par La Poste. C'est pourquoi nous mettons Programmez! #239 PDF à disposition dans votre compte utilisateur sous un onglet dédié en attendant. Pour y accéder, il vous suffit de saisir votre n° d'abonné (ou éventuellement le ressaisir comme pour l'accès aux archives) dans votre compte utilisateur, si ce n'est pas déjà fait. Si vous ne connaissez par votre numéro d'abonné, vous pouvez l'obtenir à cette page.

En cas de difficultés, contactez le webmaster à partir du formulaire de contact de ce site.

Firefox 58 a un compilateur WebAssembly à deux niveaux

Par:
fredericmazue

jeu, 18/01/2018 - 17:22

Firefox 57, qui est sorti il y a deux mois, a apporté d'impressionnantes améliorations de performances grâce à son moteur de rendu multi-processus Quantum. Avec Firefox 58, qui sortira le 23 janvier, la fondation Mozilla continue d'améliorer les performances, cette fois au niveau de la compilation du code WebAssembly.

Cette compilation sera désormais faite par un compilateur à deux niveaux.

Le premier niveau compile en streaming, ou en continu. Cela signifie que le code est compilé au fur et à mesure qu'il est téléchargé, et non plus comme précédemment, après qu'il soit téléchargé. Ceci est rendu possible par le fait que WebAssembly peut être compilé ligne par ligne.

La deuxième niveau est la (re)compilation du code par un compilateur optimiseur. Cette deuxième étape est plus longue. Le compilateur en streaming compile 10 à 15 fois plus vite que le compilateur optimiseur.

Lorsque la compilation en streaming est terminée, l'exécution démarre immédiatement, et la deuxième étape de compilation avec optimisations se fait en arrière plan. Lorsque la deuxième étape est terminée, les deux images sont échangées en mémoire. Ainsi l'exécution qui est déjà très performante avec WebAssembly est accélérée à ce moment.

"Nous compilons le code plus rapidement que le réseau ne fournit les paquets" assure Mozilla qui souligne que son compilateur en streaming compile de 30 à 60 Mo de code par seconde sur un ordinateur de bureau et 8 Mo de code sur un terminal mobile aux caractéristiques moyennes.