Au cœur de la VM Pharo

Magazine
Marque
GNU/Linux Magazine
Numéro
210
Mois de parution
décembre 2017
Domaines


Résumé

De nombreux langages de programmation (Java, C# ou encore JavaScript) s’exécutent à l’aide de machines virtuelles. Celles-ci sont de plus en plus performantes en termes de vitesse d’exécution et d’empreinte mémoire. Pour atteindre cet objectif, différentes techniques sont mises en œuvre. Partons à la découverte de la machine virtuelle de Pharo qui implémente ces multiples optimisations.


L’intérêt principal d’une machine virtuelle (VM) est d’abstraire l’application exécutée du matériel (architecture processeur) et du système d’exploitation. Pharo [1] étant basé sur une machine virtuelle, une application écrite dans ce langage s'exécute donc aussi bien sur un Raspberry Pi avec un processeur ARM que sur un ordinateur de bureau avec un processeur Intel. Pharo est un langage-objet inspiré et dérivé de Smalltalk, développé en open source (Licence MIT).

Dans cet article, nous allons étudier dans les moindres détails la VM de Pharo, dénommée Cog [2]. Vous allez comprendre comment une machine virtuelle comme celle de Java ou de JavaScript, réussit à exécuter du code avec des performances élevées. Après avoir rappelé quelques notions sur les machines virtuelles, nous détaillerons comment l’exécution du code est accélérée grâce à des techniques de compilation à la volée, puis nous nous concentrerons sur l'optimisation de la...

Cet article est réservé aux abonnés. Il vous reste 94% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Les environnements virtuels : pourquoi et comment les utiliser

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Si vous êtes un Pythoniste débutant, vous en avez probablement entendu parler et si vous êtes confirmés, ils sont forcément tout le temps dans votre boite à outils.Aujourd’hui, ils sont faciles à utiliser, intégrés aux IDE et permettent une économie de temps considérable dans la gestion et la maîtrise de l’environnement de nos applications.

Accélération de Python avec Numba

Magazine
Marque
GNU/Linux Magazine
Numéro
240
Mois de parution
septembre 2020
Domaines
Résumé

L’usage de Python est croissant depuis une dizaine d’années. L’engouement pour la fouille de données (data mining) et les réseaux de neurones profonds (deep learning) explique en partie ce dynamisme. L’un des rares reproches faits à Python est sa relative lenteur.