Évaluation de l'efficacité des implémentations de l'héritage multiple en typage statique
Abstract
La programmation par objets présente une apparente incompatibilité entre trois termes : l'héritage multiple, l'efficacité et l'hypothèse du monde ouvert --- en particulier, le chargement dynamique. Cet article présente des résultats d'expérimentations exhaustives comparant l'efficacité de différentes techniques d'implémentation (coloration, BTD, hachage parfait, ...) dans le contexte de différents schémas de compilation (de la compilation séparée avec chargement dynamique à la compilation purement globale). Les tests sont effectués avec et sur le compilateur du langage Prm. Ils confirment pour l'essentiel les résultats théoriques antérieurs tout en montrant une sur-additivité marquée des surcoûts. Les schémas d'optimisation globale démontrent un gain significatif par rapport à la coloration qui fait fonction de référence. Des techniques comme la simulation des accesseurs ou le hachage parfait entraînent un surcoût limité, mais la combinaison des deux double le surcoût total.