Valentin Deleplace

Valentin Deleplace

Google

Backend engineer, enthusiast in go, java, algorithm, performance, cloud, free software

Twitter : @val_deleplace

archisec

Track : Architecture, Performance et Securité

Type de présentation : Conference

J’aime le Big-O mais il me trompe

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.