J’aime le Big-O mais il me trompe
Présenté par Valentin Deleplace.
Horaire : 16:30–17:10
Salle : Hémicycle.
Catégorie : Méthodes et outils de développement
Niveau recommandé : Débutant.
Résumé
Nous apprenons que trier N éléments prend un temps proportionnel à (N log N). Concentrons-nous sur la complexité algorithmique, le reste ce sont des détails d’implémentation! Cette approche universitaire permet en effet d’être rapidement productif en faisant abstraction de l’architecture physique des ordinateurs, du jeu d’instruction du microprocesseur, de la latence du SSD.
Attention, c’est parfois un gros mensonge! Quand vous avez besoin d’améliorer les performances, c’est rarement « Big-O » qui vous y aidera. Je vais montrer plusieurs exemples où l’analyse de la complexité algorithmique ne sert à rien, et quelques cas où elle vous envoie carrément dans le mur.
Mieux vaut être terre-à-terre, ne pas ignorer les coefficients multiplicateurs « cachés », apprendre la « compassion mécanique », et surtout mesurer les véritables latences, encore et encore.