Lisp at 2.3. Une application Lisp nécessite beaucoup de mémoire centrale

Home
Up
Previous
Next

2.3.    Une application Lisp nécessite beaucoup de mémoire centrale

Cette affirmation est partiellement vraie. En Lisp toutes les fonctions primitives du langage sont directement chargées, même si l'application n'utilise qu'une partie des primitives; de plus le Common Lisp est un langage volumineux comportant un grand nombre de primitives (voir l'annexe 3 concernant la taille du Common Lisp). Du fait de la nature dynamique du Lisp, il n'est généralement pas possible de déterminer statiquement l'ensemble des fonctions primitives qui seront utilisées par une application. Au contraire, dans les langages conventionnels, une application est liée sélectivement aux librairies de sous-programmes utiles (processus de lien ou link).

Depuis quelques années, diverses techniques sont utilisées pour réduire la taille de l'image Lisp. La plus simple est le chargement sélectif automatique : une fonction réside dans un fichier sur disque, jusqu'au moment de la première utilisation où elle est alors chargée en mémoire. Grâce à ces techniques, des applications Lisp complexes tournent avec 3 mégabytes de mémoire centrale (pour un exemple sur un Macintosh, voir [BARB91]; en développement, il faut disposer d'un minimum de 4 Mb). (*)

Actuellement, dans le monde de l'informatique professionnelle, la configuration du PC compatible la plus vendue comprend un processeur 80386 ou 80486 et 4 mégabytes de mémoire centrale, cela afin de permettre de tourner MS Windows dans de bonnes conditions. De nombreuses stations Unix de bas de gamme, quant à elles, sont livrées systématiquement avec 16 Mb. Ceci est bien sûr lié à la diminution vertigineuse du coût de la mémoire centrale.

L'impact des besoins en mémoire sur le coût total d'une application est devenu négligeable. En outre, on observe une adéquation entre la disponibilité en mémoire centrale des micro-ordinateurs actuels, et les besoins en mémoire d'une application Lisp.

——————————————————

(*) A noter que l'évolution générale (tous les langages) va vers une augmentation des besoins en mémoire.

Home    Previous    Up    Next
contact
site map
Last update : 26/11/2001