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...

Écrire des mathématiques en LaTeX

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

S’il y a bien un domaine dans lequel excelle LaTeX, c’est l’écriture de formules mathématiques complexes et autres algorithmes. Une fois que l’on connaît et que l’on comprend la syntaxe, c’est très simple… encore faut-il avoir vu cela au moins une fois !

Analyser un système avec SystemTap

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

SystemTap est un outil d’analyse et de débogage de Linux. En instrumentant des points précis du système d’exploitation, il permet d’afficher des traces, de faire des mesures, ou de modifier le comportement d’un système existant, sans le recompiler, et même sans le redémarrer.

Neuropsydia : un module Python pour les neuropsychologues

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Il existe peu d’outils permettant de créer « simplement » du matériel d’évaluation neuropsychologique. Neuropsydia est un outil qui nécessite un minimum de connaissances en informatique, mais permet un gain de temps considérable, si l’on accepte d’écrire quelques lignes de code Python.

Web scraping avec Node.js

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Le web scraping, c’est l’activité qui consiste à gratter (to scrap) du code HTML pour en extraire des données exploitables. Node.js se prête particulièrement bien à l’exercice, aussi je vous propose d’apprendre à gratter de la donnée avec ce formidable outil.

Principes de l’orienté objet en C++ : la généricité

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

La programmation orientée objet obéit à des principes. Les 4 principaux sont l’encapsulation, l’héritage, le polymorphisme et la généricité. Dans un premier article, nous avons évoqué l’encapsulation, puis l’héritage et le polymorphisme dans un deuxième. Ce troisième et dernier article traite de la généricité.