Optimisation en Common Lisp et son application à Climb

From LRDE

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Résumé

Common Lisp est un langage de programmation dynamique. Bien qu'il ne soit pas a priori axé sur la performanceil s'avère que le langage offre certaines fonctionnalités liées à l'optimisation. Cependant, le gain en performance a un impact sur la généricité du code, l'optimisation limitant celle ci. Climb est une bibliothèque de traitement d'image écrite dans ce langage, ayant pour objectif de se comparer à des équivalents écrits dans des langages statiques tels que C++. L'objectif est de profiter de la généricité qu'offre Common Lisp pour l'écriture d'une bibliothèque de traitement d'image. Mais une telle bibliothèque a également des contraintes de performance, il s'agit donc de trouver un terrain d'entente entre ces deux aspects. Nous présenterons les différentes fonctionnalités qu'offre Common Lisp pour optimiser un programme, et leur utilisation dans Climb pour rendre la bibliothèque plus rapide, sans pour autant diminuer sa généricité. Nous présenterons également les premiers résultats du travail d'optimisation dans Climb, le travail restant et les apports de l'utilisation de Common Lisp pour une telle tâche.