J'utilise python dans mes recherches, mais lorsque les données sont en unités Go, le calcul ne se termine pas facilement. Donc, en utilisant quelque chose appelé pypy avec un compilateur JIT Je pensais que je finirais vite! !! Quand j'ai écrit le code de la même manière, la partie calcul était certes très rapide, mais Je ne pense pas qu'il soit trop rapide d'écrire des fichiers en utilisant le module csv ... Quand je me suis demandé pourquoi, la page pypy disait quelque chose comme ça
Missing RPython modules: A few modules of the standard library (like csv and cPickle) are written in C in CPython, but written natively in pure Python in PyPy. Sometimes the JIT is able to do a good job on them, and sometimes not. In most cases (like csv and cPickle), we're slower than CPython, with the notable exception of json and heapq.
http://pypy.org/performance.html
Es-tu sérieux. J'ai utilisé python sur place, mais c'est encore lent avec python ...
Je me demandais à quel point pypy lent, qui est officiellement dit lent, et essayé cette fois.
C'est ça
test.py
#coding:utf-8
import csv
import time
start = time.clock()
test_sentence = ["which","is","faster","Python","or","Pypy","?"]
iter_list = [100,1000,10000,100000,1000000,2000000,5000000,10000000]
time_list = []
with open("fast_writing.csv","wb")as f:
writer = csv.writer(f)
for i in iter_list:
loop_start = time.clock()
for j in xrange(i):
writer.writerow(test_sentence)
end_time = time.clock() -loop_start
time_list.append(end_time)
end_loop = time.clock() - start
time_list.append(end_loop)
print "Le temps qu'il a fallu{0}".format(end_loop)
with open("pythonresult.csv","wb")as f:
writer= csv.writer(f)
writer.writerow(time_list)
À mesure que le nombre de fois augmente, pypy devient plus rapide. Python semble certainement être plus rapide si vous écrivez environ 10000 fois
Cela dépend-il des conditions? Vous ne voyez pas vraiment l'effet d'une expérience aussi salée.
Cependant, à mesure que le nombre d'écritures augmente, pypy est plus rapide. Pypy semble mieux fonctionner lors du traitement de grandes matrices. Il semble que pypy ait également numpy, donc s'il s'agit d'un traitement matriciel, il serait préférable d'utiliser pypy pour un traitement à grande vitesse. Cependant, il y a certains points à prendre en compte lors de l'utilisation de pypy, et s'il est négligé, le temps de traitement sera inutilement long, alors soyez prudent.
Recommended Posts