Evaluation de l'efficacité des implémentations de l'héritage multiple en typage statique
Résumé
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. Les schémas d'optimisation globale démontrent un gain significatif par rapport à la coloration qui fait fonction de référence, tandis que le chargement dynamique rend réel le surcoût de l'héritage multiple. Enfin, ces tests confirment l'intérêt du hachage parfait pour les interfaces de Java.