"python is limited to 120KPH Lua goes to 2000KPH"

c'est quoi KPH

a marqué ce sujet comme résolu.

Salut,

Je pense que ce sont des kilomètres par heure. Une traduction/correction serait :

Python est limité à 120 km/h, Lua va à 2000 km/h

La personne veut dire que Lua est exécuté plus vite que Python. Après, garde en tête que tout ça ce sont des discussions de café du commerce et qu’elles datent d’il y a 10 ans. Les problèmes de performance vont venir de l’usage que tu as, plus que du langage en lui-même.

+3 -0

Les problèmes de performance vont venir de l’usage que tu as, plus que du langage en lui-même.

Je ne comprends pas bien cette phrase.
Je pense que le choix du langage est important, il me semble que ceux de bas niveau sont davantage performants.

Je peux reformuler : bien que le choix du langage influe sur la performance, ce n’est pas la première chose à changer en cas de soucis. On doit avant tout identifier ce qui est lent pour agir dessus.

Une fois la partie lente identifiée, qui en général n’est qu’une petite partie du programme, différentes solutions sont possibles.

  • Par exemple, il est possible d’optimiser un algo existant en faisant plus attention à ce qu’on fait (création d’objets pour Python typiquement) ou changer d’algo complètement.
  • On peut aussi utiliser des bibliothèques externes qui sont fortement optimisées. Par exemple, pour Python, on peut utiliser numpy. De nombreux outils de calcul scientifique utilisent par exemple des routines bas niveau programmées en C. C’est une manière de sortir du langage sans changer de langage.
  • Si ce genre de solutions n’est pas possible, on peut faire soi-même les parties critiques dans un autre langage et les inclure. Pour Python, il est même possible de changer d’implémentation de Python pour une qui fonctionne différemment et possiblement plus rapide.

Après, on peut réfléchir à changer de langage, par exemple si on a des problèmes avec l’empreinte mémoire du système de base et qu’on ne veut pas reprogrammer tout un environnement léger ou qu’on a épuisé toutes les solutions alternatives.

Évidemment, rien n’interdit de partir sur un langage réputé performant dès le départ, mais ce n’est en général pas le seul critère à prendre en compte. Il y aussi la facilité ou rapidité de développement. Qui aurait envie de coder un site web entièrement en C si ce n’est pas nécessaire ?

+7 -0

Salut, j’ai lu cette phrase

python is limited to 120KPH Lua goes to 2000KPH sur le post#11 ici:

https://forums.civfanatics.com/threads/converting-python-code-to-lua.378560/

c’est quoi cette unité ?!

buffalo974

KPH = Kilometers Per Hour, soit en français : kilomètre par heure (km/h). C’est histoire de dire que Lua grille complètement Python en vitesse d’exécution d’après l’auteur de l’expression.

Je pense que comparer Python et Lua dans l’absolu n’est pas du tout pertinent, a fortiori comparer leurs performances. Suivant les cas d’usage, l’un va éclater l’autre et inversement.

Certes, le code Lua est plus rapide à interpréter, et l’interpréteur Lua est beaucoup plus léger que l’interpréteur standard Python. Cela fait de Lua un langage de choix pour être embarqué dans d’autres applications. On peut citer notamment:

  • Les jeux vidéo, où il sert à scripter des niveaux ou des comportements,
  • Certaines applications massivement customisables comme AwesomeWM, où il sert de langage de configuration,
  • Des bases de données comme Redis, où Lua peut être utilisé pour scripter des opérations complexes à exécuter en une seule transaction par le serveur (un peu comme des procédures stockées dans les SGBD classiques).

Dans ces cas d’usages, il ne me viendrait pas à l’esprit une seule seconde d’utiliser Python.

Par contre, pour écrire des applications un peu complexes, qui font intervenir de nombreuses bibliothèques/briques logicielles, et qui ont besoin d’être un minimum fiables et bien intégrées, il serait complètement farfelu de partir sur du Lua en standalone. Je ne dis pas que ce ne serait pas faisable dans l’absolu, mais simplement qu’en termes de confort, de richesse de l’écosystème, de profusion d’outils périphériques au développement du projet, Python est un choix beaucoup plus évident. Et on se moque totalement de la différence de performances, car en réalité dans une telle application, comme dit plus haut, le code le plus critique est rarement écrit en Python (c’est plutôt généralement des bibliothèques externes, bindées en Python, qui font le plus gros du travail).

Dans ce cas, le confort de développement et la facilité à trouver des outils qui font ce dont on a besoin ne sont pas du tout les mêmes.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte