Ich verwende Python für meine Forschung, aber wenn die Daten in GB-Einheiten angegeben sind, ist die Berechnung nicht einfach abzuschließen. Verwenden Sie also etwas namens pypy mit einem JIT-Compiler Ich dachte, ich würde es schnell beenden! !! Als ich den Code auf die gleiche Weise schrieb, war der Berechnungsteil sicherlich sehr schnell, aber Ich denke nicht, dass es zu schnell ist, Dateien mit dem CSV-Modul zu schreiben ... Als ich mich fragte warum, sagte die Pypy-Seite so etwas
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
Sind Sie im Ernst. Ich habe Python an Ort und Stelle verwendet, aber mit Python ist es immer noch langsam ...
Ich habe mich gefragt, wie langsam Pypy ist, was vom Beamten als langsam bezeichnet wird, und diesmal versucht.
Dies ist das
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 "Die Zeit, die es dauerte{0}".format(end_loop)
with open("pythonresult.csv","wb")as f:
writer= csv.writer(f)
writer.writerow(time_list)
Mit zunehmender Häufigkeit wird Pypy immer schneller. Sicherlich scheint Python schneller zu sein, wenn man ungefähr 10.000 Mal schreibt
Kommt es auf die Bedingungen an? In einem so salzigen Experiment sieht man den Effekt nicht wirklich.
Mit zunehmender Anzahl von Schreibvorgängen ist Pypy jedoch schneller. Pypy scheint bei der Verarbeitung großer Matrizen besser zu funktionieren. Es scheint, dass Pypy auch Numpy hat. Wenn es sich also um eine Matrixverarbeitung handelt, ist es besser, Pypy für die Hochgeschwindigkeitsverarbeitung zu verwenden. Bei der Verwendung von Pypy sind jedoch einige Punkte zu beachten. Wenn dies vernachlässigt wird, ist die Verarbeitungszeit unnötig lang. Seien Sie also vorsichtig.