Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
psyco [2008/07/01 08:56] tyrtamos |
psyco [2008/07/01 09:26] tyrtamos |
||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
De ce fait, psyco est limité aux processeurs de type i386. | De ce fait, psyco est limité aux processeurs de type i386. | ||
+ | |||
+ | Site de référence: | ||
+ | |||
+ | Le manuel est ici: [[http:// | ||
===== Installation de psyco ===== | ===== Installation de psyco ===== | ||
Ligne 18: | Ligne 22: | ||
Si vous avez une version de Python inférieure à 2.5, cherchez le bon programme au même endroit (pour Python v 2.4 ou 2.3). | Si vous avez une version de Python inférieure à 2.5, cherchez le bon programme au même endroit (pour Python v 2.4 ou 2.3). | ||
+ | |||
+ | Pour Windows: psyco est compatible avec py2exe, ce qui fait qu'un programme pourra s' | ||
==== Linux ==== | ==== Linux ==== | ||
Ligne 64: | Ligne 70: | ||
Et c'est tout! | Et c'est tout! | ||
+ | A titre d' | ||
+ | |||
+ | <code python> | ||
+ | # | ||
+ | # -*- coding: latin1 -*- | ||
+ | from __future__ import division | ||
+ | |||
+ | import time | ||
+ | from math import * | ||
+ | |||
+ | def premiers(n): | ||
+ | """ | ||
+ | if n==1: | ||
+ | return [] | ||
+ | if n==2: | ||
+ | return [2] | ||
+ | if n in (3,4): | ||
+ | return [2,3] | ||
+ | if n in (5,6): | ||
+ | return [2,3,5] | ||
+ | p=[2,3,5] | ||
+ | k=7 | ||
+ | while k<=n: | ||
+ | rk=int(sqrt(k))+1 | ||
+ | i=0 | ||
+ | while i< | ||
+ | if p[i]>rk: | ||
+ | p.append(k) | ||
+ | break | ||
+ | if (k % p[i])==0: | ||
+ | break | ||
+ | i+=1 | ||
+ | k+=2 | ||
+ | return p | ||
+ | |||
+ | if __name__ == " | ||
+ | try: | ||
+ | import psyco | ||
+ | psyco.full() | ||
+ | except ImportError: | ||
+ | pass | ||
+ | tps=time.clock() | ||
+ | premiers(1000000) | ||
+ | print time.clock()-tps | ||
+ | |||
+ | </ | ||
+ | |||
+ | Pour comparer "avec ou sans psyco", | ||
+ | |||
+ | Résultat des courses: avec premiers(1000000), | ||
+ | |||
+ | * sans psyco: 7.07724387626 secondes | ||
+ | |||
+ | * avec psyco: 0.459823772467 seconde | ||
+ | |||
+ | Ce qui représente tout de même une **division par 15 du temps de calcul**! | ||
+ | |||
+ | Mes différents essais m'ont montré que sur certains programmes, on était proche du temps de calcul du C. | ||
+ | |||
+ | ===== Limitations de l' | ||
+ | |||
+ | Il existe un certain nombre de limitations qui sont expliquées (en anglais) sur le site [[http:// | ||
+ | |||
+ | Voir en particulier à partir du manuel: [[http:// | ||