Wasmer 2.0 est déjà sorti et est livré avec SIMD, des améliorations et plus encore

Après presque six mois du lancement de la première version, le lancement de la nouvelle version du projet Wasmer a été annoncé, qui en est à sa deuxième version principale et dans lequel des modifications importantes ont été apportées à un degré tel que les API internes de cette deuxième version sont incompatibles, bien que de nouvelles fonctionnalités aient également été ajoutées qui ajoutent des améliorations de stabilité, de sécurité et de performances.

Pour ceux qui ignorent Wasmer, il faut savoir qu'il développe un runtime pour exécuter des modules WebAssembly qui peut être utilisé pour créer des applications universelles pouvant s'exécuter sur plusieurs systèmes d'exploitation et pour exécuter du code non fiable de manière isolée.

La portabilité est assurée en compilant le code de l'application dans un middleware WebAssembly de bas niveau Il peut fonctionner sur n'importe quel système d'exploitation ou être intégré à des programmes dans d'autres langages de programmation. Les programmes sont des conteneurs légers qui exécutent le pseudocode WebAssembly.

ces les conteneurs ne sont pas liés au système d'exploitation et peuvent inclure du code écrit à l'origine dans n'importe quelle langue programmation. La boîte à outils Emscripten peut être utilisée pour compiler vers WebAssembly. Pour traduire WebAssembly en code machine de la plate-forme actuelle, la connexion de différents backends de construction (Singlepass, Cranelift, LLVM) et moteurs (en utilisant JIT ou en générant du code machine) est prise en charge.

Le contrôle d'accès et l'interaction avec le système sont fournis via l'API WASI (WebAssembly System Interface), qui fournit des interfaces de programmation pour travailler avec des fichiers, des sockets et d'autres fonctions fournies par le système d'exploitation.

Les applications sont isolées du système principal et ils n'ont accès qu'à la fonctionnalité déclarée (mécanisme de sécurité basé sur des capacités de gestion des actions avec chacune des ressources (fichiers, répertoires, sockets, appels système, etc.).

Principales nouveautés de Wasmer 2.0

Dans cette nouvelle version présentée, il est mentionné que le changement important de numéro de version par Wasmer est associé à l'introduction de modifications d'incompatibilité dans l'API interne, qui, selon les développeurs, n'affectera pas 99% des utilisateurs de la plate-forme de quelque manière que ce soit.

Il y a également un changement dans le format des modules Wasm sérialisés parmi les changements majeurs de compatibilité (les modules sérialisés dans Wasmer 1.0 ne seront pas utilisables dans Wasmer 2.0).

En outre, la prise en charge des instructions SIMD est mise en évidence (Instruction unique, données multiples) qui permettre la parallélisation des opérations de données. Les domaines où l'utilisation de SIMD peut augmenter considérablement la productivité comprennent l'apprentissage automatique, l'encodage et le décodage vidéo, le traitement d'images, la simulation de processus physiques et la manipulation graphique.

Aussi la prise en charge des types de référence est mise en évidence, permettant aux modules Wasm d'accéder aux informations dans d'autres modules ou dans l'environnement de base et des optimisations de performances significatives ont été réalisées. La vitesse d'exécution de LLVM avec des nombres à virgule flottante a été augmentée d'environ 50 %.

Les appels de fonction ont été considérablement accélérés en réduisant les situations nécessitant des appels au noyau. Les performances du générateur de code Cranelift ont été augmentées de 40 %. Temps de désérialisation des données réduit. Pour refléter plus précisément l'essentiel, les noms des moteurs ont été modifiés : JIT → Universal, Native → Dylib (Dynamic Library), Object File → StaticLib (Static Library).

Enfin Si vous souhaitez en savoir plus sur Wasmer, il faut savoir que le code du projet est écrit en Rust, il a la licence MIT et vous pouvez vérifier ses détails sur son site officiel à l'adresse lien suivant

Installez le runtime Wasmer

D'autre part, pour ceux qui souhaitent pouvoir exécuter le conteneur WebAssembly, il vous suffit d'installer le runtime Wasmer sur votre système, qui est livré sans dépendances externes.

Il est important de mentionner que Wasmer peut être exécuté sur n'importe quelle plateforme macOS, Linux et Windows, la seule exigence est que son environnement d'exécution soit installé sur votre système.

Pour ce faire, exécutez simplement la commande suivante dans un terminal:

curl https://get.wasmer.io -sSfL | sh

Et après cela, ils doivent exécuter le fichier requis:

wasmer test.wasm

Si vous avez besoin d'en savoir plus sur le fonctionnement de Wasmer ou si vous souhaitez connaître son code source, vous pouvez consulter tout cela dans le lien suivant.


Le contenu de l'article adhère à nos principes de éthique éditoriale. Pour signaler une erreur, cliquez sur c'est par ici !.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.