Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1444 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [Python] "Compilateur" Psyco qui booste le code Python ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Python] "Compilateur" Psyco qui booste le code Python ?

n°572495
Webman
Posté le 21-11-2003 à 14:10:08  profilanswer
 

Salut,
 
Je viens de trouver une sorte de compilateur Python qui se vante d'accélérer de façon hallucinante le temps d'execution des scripts Python sur les CPU x86. http://psyco.sourceforge.net/
Connaissez vous ce "compilateur" ? est-ce efficace ? fiable ? Car c'est vrai que le gros handicap de Python par rapport aux autres lanagages c'est la vitesse, alors si il devient "presque" aussi rapide que certains langages compilés ca risque de faire trés mal :)
 
:hello:

mood
Publicité
Posté le 21-11-2003 à 14:10:08  profilanswer
 

n°572511
Taz
bisounours-codeur
Posté le 21-11-2003 à 14:14:49  profilanswer
 

faut pas déconner (ok c'est vendredi) mais python est un des langages interprétés les plus rapides que je connaisse. y a pas de handicap
 
après y a les parano comme toi qui voudront toujours avoir leur .exe
amuse toi à transformer tes scripts, moi sur des logiciels complets en python, c'est bien plus rapide que java (niveau réactivité de l'interface) (et bam !), bref, nul besoin de se prendre la tête avec des bêtises. et vu comment c'est facile d'écrire ses propres modules python en C
 
bref j'en vois pas le besoin, sauf les gens qui sont bêtes et qui ne réfléchissent pas au langage avant de programmer.
 
[-1]

n°572521
lorill
Posté le 21-11-2003 à 14:18:31  profilanswer
 

Taz a écrit :

faut pas déconner (ok c'est vendredi) mais python est un des langages interprétés les plus rapides que je connaisse. y a pas de handicap


pike
 

Taz a écrit :


après y a les parano comme toi qui voudront toujours avoir leur .exe


psycho ne fait pas d'exe, c'est un JIT.
 

Taz a écrit :


amuse toi à transformer tes scripts, moi sur des logiciels complets en python, c'est bien plus rapide que java (niveau réactivité de l'interface) (et bam !),


ca depends des traitements.
 

Taz a écrit :


 bref, nul besoin de se prendre la tête avec des bêtises. et vu comment c'est facile d'écrire ses propres modules python en C


le principe de psycho, c'est juste de mettre un import psycho devant, et de coder en python. Ou est l'interet d'un langage de script si a la moindre question tu conseilles de passer au C ?
 

Taz a écrit :


bref j'en vois pas le besoin, sauf les gens qui sont bêtes et qui ne réfléchissent pas au langage avant de programmer.


y'a pas que les perfs dans la vie, mais si on peut avoir mieux sans effort, faudrait pas se priver.

n°572547
Webman
Posté le 21-11-2003 à 14:26:12  profilanswer
 

Oh oh oh !! on se calme !!!
Qui a dis que j'étais parano ?? Je ne me suis jamais rendu compte personnellement d'une quelconque lenteur de Python !!! De toute façon vu la longeur de mes scripts ca se compte en millièmes de seconde...
Si tu veux tout savoir j'ai discuté de la lenteur de Python avec un developpeur qui dirige une boite qui réalise des softs en Python pour de grosses entreprises, tout ca pour dire que si il me dis que c'est assez lent c'est qu'il y a une raison ! C'est pas un débutant.
 
C'est vrai qu'en disant le gros handicap de Python j'exagère un peu je le reconnais :d mais enfin de là a avoir une telle réaction de ta part :crazy:
 
Donc si tu pouvais éviter de m'agresser ;)
 
Autrement, je voulais juste avoir un avis et un retour sur ce fameux Psyco rien de plus... c'est juste de la curiosité... voili voilà...
 
:hello: sans rancune de ma part


Message édité par Webman le 21-11-2003 à 14:28:15
n°572551
Webman
Posté le 21-11-2003 à 14:27:02  profilanswer
 

>lorill
 
Merci de ta réponse :)
 
:jap:


Message édité par Webman le 21-11-2003 à 14:29:03
n°572606
Taz
bisounours-codeur
Posté le 21-11-2003 à 14:57:59  profilanswer
 

lorill > j'ai rien contre le principe, seulement j'ai pas aimé le ton de webman "python c'est lent, avec psycho c'est la panacée"
mais honnêtement, j'ai jamais eu de problèmes de performances python, du moins rien d'irrémédiable, suffit juste de coder un peu mieux. j'ai déjà fait des traitements un peu lourd, et ça tourne bien. quand je parle de module C, c'est parce que d'une part c'est facile à faire, et que d'autres par, lorsqu'on trouve que python rame, c'est souvent parce qu'on fait un traitement de bourrin sur plein de données, un truc souvent codable en C avec swig (dans mon expérience en tout cas)
 
perso, j'utilise des gros logiciels en python (j'en ai meme testé qui gère de la 3D) et ça tourne très bien. mais évidemment c'est oujours la faute à l'autre si ça rame...
 
 

[benoit@athlon Python]$
[benoit@athlon Python]$ time ./DNABench-psyco.py  
found AAAGTAAGCC at 1000000 it took 0 miliseconds
found AAATGAAAAAG at 1048960 it took 718 miliseconds
found GAAAAAGTAAG at 1085441 it took 1314 miliseconds
found TCTAAAAATAG at 1179694 it took 2828 miliseconds
found ACGTGATGTAG at 1204636 it took 3254 miliseconds
found AATAGATTCGG at 1548576 it took 9063 miliseconds
found TCGTACAAATG at 1576094 it took 9502 miliseconds
found CGGACGTGATG at 1599255 it took 10126 miliseconds
found ATTCGGACGTG at 1689064 it took 11669 miliseconds
found AGATTCGGACG at 1859204 it took 14409 miliseconds
found TGATGTAGTCG at 1984902 it took 16451 miliseconds
found AAATAGATTCG at 2000000 it took 16715 miliseconds
Python regex took 16718 milliseconds
 
real    0m16.750s
user    0m13.830s
sys     0m0.040s
 
[benoit@athlon Python]$ time ./DNABench.py  
found AAAGTAAGCC at 1000000 it took 0 miliseconds
found AAATGAAAAAG at 1048960 it took 989 miliseconds
found GAAAAAGTAAG at 1085441 it took 1754 miliseconds
found TCTAAAAATAG at 1179694 it took 3741 miliseconds
found ACGTGATGTAG at 1204636 it took 4285 miliseconds
found AATAGATTCGG at 1548576 it took 11561 miliseconds
found TCGTACAAATG at 1576094 it took 12138 miliseconds
found CGGACGTGATG at 1599255 it took 12623 miliseconds
found ATTCGGACGTG at 1689064 it took 14547 miliseconds
found AGATTCGGACG at 1859204 it took 18728 miliseconds
found TGATGTAGTCG at 1984902 it took 21406 miliseconds
found AAATAGATTCG at 2000000 it took 21750 miliseconds
Python regex took 21752 milliseconds
 
real    0m21.784s
user    0m17.950s
sys     0m0.050s


 
 
avec  

Code :
  1. #! /usr/bin/env python
  2. import time
  3. import math
  4. _doc = "CGAATCTAAAAATAGATTCGGACGTGATGTAGTCGTACAAATGAAAAAGTAAGCC"
  5. ITERATIONS = 1000000
  6. __convert = { 0 : "A", 1 : "G", 2 : "T", 3 : "C"}
  7. def generateWord(value, length):
  8.     buf = ""
  9.     current = value
  10.    
  11.     for i in range(length):
  12.         buf+=__convert[current % 4]
  13.         current /= 4
  14.     return buf
  15. def main():   
  16.     start = time.time() * 1000;
  17.     for i in xrange(ITERATIONS, 2*ITERATIONS+1):
  18.         length = int( math.log(i)/math.log(4) )
  19.         matchthis = generateWord(i, length+1)
  20.         if matchthis in _doc:
  21.             end = time.time() * 1000
  22.             print "found %s at %s it took %u miliseconds" % (matchthis, i, end-start)
  23.            
  24.     end = time.time() * 1000
  25.     print "Python regex took %u milliseconds" % (end - start)
  26. if __name__=="__main__":
  27. ##     import gc
  28. ##     gc.disable()
  29.     main()


 
bof ... c'est efficace pour sur, mais dela à en avoir besoin tous les jours


Message édité par Taz le 21-11-2003 à 15:06:04
n°572613
Taz
bisounours-codeur
Posté le 21-11-2003 à 15:00:57  profilanswer
 

et la ligne magique
 
import psyco
psyco.full();

n°572617
lorill
Posté le 21-11-2003 à 15:04:23  profilanswer
 

Taz a écrit :


mais honnêtement, j'ai jamais eu de problèmes de performances python


moi non plus, mais ta réponse etait trop aggresive :o
en argumentant, ca va déja mieux :hello:


Message édité par lorill le 21-11-2003 à 15:05:14
n°572619
Taz
bisounours-codeur
Posté le 21-11-2003 à 15:05:17  profilanswer
 

lorill a écrit :


moi non plus, mais t'a réponse etait trop aggresive :o

http://fr.news.yahoo.com/031121/85/3ib8q.html
 
désolé

n°572622
lorill
Posté le 21-11-2003 à 15:05:48  profilanswer
 


déja vu, moi aussi je lis les journaux sur dlfp :o

mood
Publicité
Posté le 21-11-2003 à 15:05:48  profilanswer
 

n°572624
Taz
bisounours-codeur
Posté le 21-11-2003 à 15:06:41  profilanswer
 

lorill a écrit :


déja vu, moi aussi je lis les journaux sur dlfp :o

bah ça vient de là, mais faut faire profiter aux autres pour une fois qu'on a sujet python :o


Message édité par Taz le 21-11-2003 à 15:06:52
n°572666
Webman
Posté le 21-11-2003 à 15:32:27  profilanswer
 

Je trouve ta réaction en opposition avec le ton de mon post mais bon je peux rien y faire si tu veux pas comprendre.
Je n'ai pas dis "python c'est lent, avec psycho c'est la panacée", en plus si tu lis bien ce que j'ai écris je doute presque un peu... ("une sorte de compilateur Python qui se vante d'accélérer de façon hallucinante le temps d'execution des scripts Python " ). Enfin bref je vais pas m'expliquer jusqu'à demain, si tu lis en travers ce que j'écris je peux rien faire...
C'est vraiment dommage que ca se passe comme ça, les posts sur Python sont tellement nombreux...:(
 
 
:hello: et j'espère à bientôt pour des échanges un peu plus productifs !


Message édité par Webman le 21-11-2003 à 15:33:13
n°572745
Taz
bisounours-codeur
Posté le 21-11-2003 à 17:19:24  profilanswer
 

ben c'est un programme exigent en ressources certes. je le sais, tu le sais, tout le monde le consate, je me suis écrit la même chose en C++, ça me prends 3 secondes pour faire le meme traitement ... alors passer de 22 à 16 ok, mais c'est typiquement un traitement ou les langages non-compilés pêchent, python permet de faire des modules les doigts dans le pif : je prends mon code, un coup de swig et pan, intégration parfaite dans python, performance
 
bref, psyco c'est bien, chapeau, ça donne un bon boost facilement (moyennant un surcout quand meme), mais je le vois pas comme solution universelle. peut etre que le créateur de psyco devrait se rappocher de python (j'entends l'interpréteur officiel de python.org) pour voir s'il peut pas apporter ses compétence (remplacer l'option -O ?)


Message édité par Taz le 21-11-2003 à 17:28:27

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [Python] "Compilateur" Psyco qui booste le code Python ?

 

Sujets relatifs
Cherche Programme de Visualistation/Debeuging de code XML/XSL[UltraEdit] comment exécuter un code en C sous Ultra Edit ?
[HTML] Utilisation des balises CODE, SAMP, VAR et TTCompilateur/Interpréteur Prolog
[Python] Comment créer un fichier ?[Python] JPython : besoin de votre avis !
portabilité windows/Linux du codeCode source!!!
Code sur plusieurs lignes...[C++/gcc 3.2.3] Template, petit bout de code qui ne fonctionne pas
Plus de sujets relatifs à : [Python] "Compilateur" Psyco qui booste le code Python ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR