Source de l'image: pixabay.com

Comment rendre Python rapide en tant que Psyco

Salut les gars, bienvenue sur mon prochain blog de Python. Mais aujourd'hui, je ne parlerai pas de Python rapidement. Donc, avant de continuer, je suppose que vous connaissez déjà les bits et les * octets à propos de python. Si vous êtes débutant, vous pouvez rechercher mes autres blogs, en savoir plus sur python, puis revenir vers nous. maintenant, nous discutons du sujet Python rapidement comme Psyco.

Si vous êtes un programmeur expérimenté dans un autre domaine, et que vous pensez que vous connaissez les bases et que vous pouvez maintenant lire ce blog, alors posez-vous une question, savez-vous ce qu'est Psyco? Si à ce stade vous pensez que ce "Psyco" signifie fou, alors encore une fois, ce genre de choses n'est pas pour vous.

Vous avez toujours évité beaucoup de choses de base ou vous plaisantez simplement en disant que vous êtes un programmeur expérimenté. Croyez-moi, je vais essayer de rendre ce blog aussi simple que possible et j'essaierai de n'offenser personne. Mais si vous n'avez pas les bases, il vous sera plus difficile de comprendre cela.

Laissez la partie difficile de côté, vous faites même commencer à penser que les trucs rapides en python sont beaucoup plus difficiles que toute autre programmation qui est absolument fausse. Alors maintenant, nous savons ce qui est quoi, allons-y, allons-nous?

Qu'est-ce que Psyco?

Alors, qu'est-ce que Psyco? Psyco rend le python rapide. Confus? Oui, moi aussi j'étais confus quand j'ai entendu cela pour la première fois. Python est déjà rapide, alors pourquoi utiliser psyco? Voilà pourquoi je l'ai dit. Ce blog n'est pas pour les noobs et les débutants. Si vous avez codé en python exécuté pendant une bonne période de temps, créant un grand nombre de codes et tout, alors vous saurez que python rapide a besoin d'un codage compact et strict. Avec le bon type de codage, vous pouvez le rendre aussi rapide que compact.

Mais il faut du temps et des trucs. Vous ne pouvez pas créer des codes compacts et sans bogues à l'improviste. Et c'est là que Psyco voit le jour. Psyco est juste un module d'extension rapide python qui accélère l'exécution d'un code d'exécution python. Donc, vous pouvez être confus en ce moment, le module accélère l'exécution d'un code Python? Oui, c'est exactement ça. Passons à la vue d'ensemble.

Python et sa vraie nature

Si vous avez déjà codé en Java ou en C, vous pourriez penser que l'exécution de python est extrêmement rapide que les autres. Mais c'est là que vous vous trompez. En termes de performances brutes, python est nettement plus lent que C, Java ou C #. Mais python n'est pas connu pour sa rapidité dans les performances brutes.

Seuls les débutants ou les noobs font du codage brut. Les professionnels font un bon codage ainsi que des indentations appropriées *. Lorsque vous comparez un code correctement compilé et mesurez l'utilisation totale de la mémoire, le temps de démarrage initial, le temps de chargement, puis à ce moment-là, l'exécution de python est extrêmement rapide.

De plus, si vous essayez d'écrire des codes pour créer un serveur ou d'autres choses, Java est extrêmement rapide, voire plus rapide que C. Ceci est possible car la machine virtuelle Java peut compiler du code d'octet chaud en code machine. Ce faisant, il peut tirer pleinement parti de chacune des fonctionnalités du processeur.

Ce n'est généralement pas le cas avec C, du moins jusqu'à ce que vous quittiez votre environnement de laboratoire. Supposons maintenant que la distribution d'une douzaine de versions optimisées à vos clients ne fonctionne tout simplement pas.

Donc, revenons maintenant à notre point principal si le temps de démarrage est un problème (ce qui n'est pas un problème pour une application serveur par exemple) Java pourrait ne pas être la meilleure alternative. Cela peut également dépendre de l'emplacement de vos zones de code à chaud, par exemple: si elles se trouvent dans les bibliothèques natives avec du code rapide Python pour les coller simplement, vous pourrez également obtenir des performances de type C avec Python rapidement. Mais quand même, les langages de script auront tendance à être plus lents - au moins la plupart du temps.

Cours recommandés

  • Cours en ligne VB.NET
  • Formation de certification en ligne en science des données
  • Cours professionnel ISTQB
  • Programme Kali Linux

Psyco - Exactement comment ça sonne

Ouais, tu as bien lu. Maintenant, revenons à notre sujet principal. Maintenant, c'est ce que les développeurs psyco définissent dans leur page web: -

«Considérez Psyco comme une sorte de compilateur juste à temps (JIT), un peu comme ce qui existe pour d'autres langages, qui émet du code machine à la volée au lieu d'interpréter votre programme Python pas à pas. La différence avec l'approche traditionnelle des compilateurs JIT est que Psyco écrit plusieurs versions des mêmes blocs (un bloc est un peu une fonction), qui sont optimisés en étant spécialisés dans certains types de variables (un «type» peut signifier un type, mais c'est plus général). Le résultat est que vos programmes Python non modifiés s'exécutent plus rapidement.

Accélérations de 2x à 100x, généralement 4x, avec un interpréteur Python non modifié et du code source non modifié, juste un module d'extension C chargeable dynamiquement. »

En bref, pour reformuler cela dans une simple déclaration, Psyco vous donnera plus de performances de type Java. Vous obtiendrez des temps de démarrage plus lents et une utilisation de la mémoire plus élevée en échange d'algorithmes plus rapides.

Cela dit, il y a certaines choses à retenir lors du test de langages comme Java et Python. Le code dans ces langages peut souvent être accéléré de manière significative en utilisant des constructions plus adaptées au langage (par exemple lister les compréhensions en Python rapidement, ou en utilisant char () et String Builder pour certaines opérations String en Java).

De plus, pour Python fast, l'utilisation de Psyco peut considérablement augmenter la vitesse du programme. Et puis il y a toute la question de l'utilisation des structures de données appropriées et de garder un œil sur la complexité d'exécution de votre code.

Pour comprendre le psyco python, il faut avoir une bonne compréhension de la fonction eval_frame () de python. Ce que fait python psyco est de convertir la fonction eval_frame de python en une unité d'évaluation composée, et psyco utilise beaucoup de mémoire pour ce faire. Utiliser psyco est beaucoup plus facile que de l'expliquer.

Pour utiliser simplement psyco, téléchargez le module psyco depuis sourceforge.net puis conservez ce code au début de votre tout premier code:

import psyco ; psyco.jit()

from psyco.classes import *

Et puis, vous pouvez utiliser la commande suivante pour cibler plus précisément le comportement de psyco:

psyco.bind(somefunc) # or method, class

newname = psyco.proxy(func)

Si ces choses ne fonctionnent pas avec vous au début, alors vous devez être patient. Cela nécessite des essais et des erreurs. Vous ne pouvez pas vous attendre directement à ce que votre programme fonctionne comme Usain Bolt. Épargnez-moi le comportement grossier sarcastique, mais c'est comme ça que ça fonctionne.

En réalité, python psyco ne change ni ne modifie votre code pour le rendre plus intelligent. Il profile à peine votre code pour être plus précis. Il fait une optimisation minimale pour le rendre aussi proche que possible du code machine.

Bien que python psyco rende vos programmes aussi rapides que C, il y a quelques limitations et inconvénients. Voici quelques-uns, que j'ai énumérés ci-dessous:

  1. Psyco est désormais obsolète, non entretenu et mort. Le remplacement est PyPy
  2. Psyco a beaucoup de problèmes avec même python 2.7. Mais cela fonctionne beaucoup mieux et plus rapidement en v2.5
  3. Psyco ne fonctionne pas sur les machines 64 bits. Mais on peut installer une machine virtuelle avec une architecture i386 et la faire fonctionner.
  4. Mac OSX par défaut est livré avec python 64 bits. Il faudra recompiler python x86 à partir de la source pour faire fonctionner Psyco.

Bien qu'ayant tant de problèmes, les gens utilisent toujours Psyco au lieu de PyPy. Mais encore une fois, si vous me demandez, PyPy est une excellente alternative à Psyco. Psyco fonctionne comme un compilateur Just In Time, mais PyPy possède son propre compilateur Just in time. Là où Psyco utilise beaucoup de mémoire, PyPy utilise beaucoup moins de mémoire que Psyco. PyPy est encore plus compatible avec les frameworks comme Django et Twisted.

Donc, après tout cela, peu importe ce que je dis, c'est pour notre propre usage. Les personnes ayant une expérience de Psyco vous proposeront toujours d'utiliser Psyco, tandis que les personnes désireuses de vitesse auront besoin de PyPy. Mais permettez-moi de citer quelque chose.

"Même si vous vous sentez assez bien avec des motos comme R1 ou Hayabusa, conduire une Harley Davidson a parfois son propre plaisir"

Il fonctionne de la même manière avec Psyco et PyPy. Donc, à la fin, sans trop de bruit, ce que je suggérerais, c'est d'utiliser les deux au début, puis de continuer avec ce que vous vous sentez le plus à l'aise.

Articles recommandés:

Voici quelques articles qui vous aideront à obtenir plus de détails sur le psyco Python Fast And python alors il suffit de passer par le lien.

  1. Différences entre Linux et Ubuntu
  2. 25 questions et réponses d'entrevue les plus étonnantes sur Python
  3. Carrières en Python
  4. Python vs Node.js
  5. Guide utile de Kali Linux vs Ubuntu
  6. Liste des compilateurs Python