Réunion Matthieu + Julian. * Quelques tips (merci Serge) pour compiler LLVM : tips/COMPILING.txt (renommé en notes/tips-on-compiling-llvm.txt) * Julian a écrit un script de base, pour l'instant juste comparaison -O0 / -O3. Y'a des choses à améliorer : - mesurer le timing plus précisément (pour l'instant, time mesure le temps de fork+exec() en plus du temps d'exécution, inutile pour les bouts de code qui prennent moins de quelques milisecondes) - A priori, prendre le min du temps d'exécution sur N exécutions suffit. - Générer un format genre CSV traitable a posteriori (stats, graphs, import dans un programme Python pour traitement, ...) * Discussion sur les pistes à explorer. Essayer seulement des paires d'optims (o1 puis o2 vs o2 puis o1) risque de rater des choses intéressantes, par exemple si la paire d'optims n'est pertinente que pour préparer le boulot pour une troisième. Et tester tous les triplets, ça fait beaucoup de tests à lancer ... Autres idées : - tester des paires d'optims (dans les deux ordres), mais lancer de toutes façons les autres optims de -O3 après ces deux là (a priori en supprimant les optims o1 et o2 qu'en est en train d'observer). - prendre la séquence par défaut de -O3, et tenter d'inverser l'ordre des optims deux à deux (exemple, si -O3 = o1; o2; o3; ...; on, tester o2; o1; o3; ..., et o3; o2; o1; o4;..., etc.). Autrement dit, tester d'inverser toutes les paires o_i / o_j pour i < j. * Autres pistes de mesures (pour l'instant on regarde le temps) : - Occupation mémoire : taille max de la pile. - Taille de la section .text dans le code (readelf -S le donne)