Python est un langage de programmation élégant. Aujourd'hui, avec le développement rapide de l'intelligence artificielle, du cloud computing et du big data, Python a attiré l'attention de tous les horizons, notamment Alibaba, Sohu, Zhihu, Tencent, NetEase, Tudou. , De Sina aux pays étrangers, Google, Dropbox, Facebook, Redhat, Uber, etc. utilisent tous Python à grande échelle pour accomplir diverses tâches !
Python est de plus en plus populaire et présente de nombreux avantages, mais Python présente également un inconvénient majeur. Par rapport au langage C,
Python. fonctionne de manière inefficace, alors quelle en est la raison ?
1. Python est un langage dynamique
Un langage dynamique est un type de langage qui peut changer sa structure au moment de l'exécution, comme de nouvelles fonctions, objets , des codes peuvent être introduits, des fonctions existantes peuvent être supprimées ou d'autres changements structurels, etc. Ce type de langage est plus vivant, mais il est inévitable que l'incertitude du temps d'exécution affecte également l'efficacité opérationnelle.
2. Python est une exécution interprétée
Comparé aux programmes écrits en langage compilé C, Python est un langage d'exécution interprété et son processus d'exécution est le fichier d'exécution Python. programme , l'interpréteur Python convertit le code source en bytecode, puis l'interpréteur Python exécute ces bytecodes. Chaque fois qu'il est exécuté, il doit être converti en bytecode, puis une machine virtuelle convertit le bytecode en langage machine avant de pouvoir être exécuté sur le matériel. Par rapport aux langages compilés, le processus est plus compliqué et les performances seront certainement affectées. . Influence.
3. Tout en Python est un objet
Python est un langage de programmation orienté objet Son concept de conception est que tout est un objet, comme les nombres et les chaînes. . Les tuples, listes, dictionnaires, fonctions, méthodes, classes, modules, etc. sont tous des objets, y compris le code. Chaque objet doit conserver un nombre de références. Par conséquent, du travail supplémentaire est ajouté et les performances sont affectées.
4. Python GIL
GIL est le point le plus critiqué de Python. En raison de GIL, le multithreading en Python ne peut pas être vraiment simultané. , GIL Cela aura également un impact important sur les performances, car Python essaiera de changer de thread à chaque fois qu'il exécute 100 opcodes, affectant ainsi l'efficacité opérationnelle de Python.
5. Garbage collection
Python adopte une stratégie de garbage collection marquée et générationnelle. Chaque fois que le garbage collection se produit, le programme en cours d'exécution sera interrompu, provoquant ce que l'on appelle des pauses. .carte, affectant l’efficacité opérationnelle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!