Pourquoi l'exécution d'un tableau trié n'est pas plus rapide que celle d'un tableau non-trié en Python ?

Dans de nombreux langages, utiliser un tableau trié est plus rapide qu'utiliser un tableau non trié. Ce n'est pas en Python pour lequel la différence est négligeable. Cela s'explique par sa nature même.

Dans le langage C++ ou encore Java, on peut facilement voir qu'un code va être exécuté plus vite avec un tableau trié qu'un tableau non trié. Cette différence est liée au fait que ce sont tous deux des langages compilés. Les compilateurs transforment un langage en directives systèmes. Le programme est donc transformé en une séquence de directives qui lui est propre et ces directives sont mieux optimisées (ou il y a moins de directives) dans le cas d'un tableau trié. On peut donc constater une nette différence pour un même programme suivant les variables qu'il manipule.

Le langage Python est un langage interprété. Cela signifie que le code est exécuté directement par l'interpréteur et que le résultat est obtenu en direct. Il n'y a donc pas de directive propre au programme. L'interpréteur doit effectuer de nombreuses commandes, moins directes, afin de lire le code pour afficher son résultat. Le code interprété pour effectuer la comparaison dans un tableau doit également être le même que pour d'autres comparaisons, il n'y a donc pas de directive spécifique liée au code développé.

Python

Annonces Google