Expérience de comparaison de la vitesse d'écriture de fichier entre python 2.7.9 et pypy 2.5.0

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)

スクリーンショット 2015-02-20 1.03.12.png

À 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

Expérience de comparaison de la vitesse d'écriture de fichier entre python 2.7.9 et pypy 2.5.0
Comparaison de vitesse entre CPython et PyPy
Fonction pour ouvrir un fichier en Python3 (différence entre open et codecs.open et comparaison de vitesse)
Ecrire le fichier O_SYNC en C et Python
Création d'un nouveau fichier [Comparaison entre Bash et PowerShell]
Comparaison de vitesse entre la variable de comptage incrémentielle et l'énumération
[Ruby vs Python] Comparaison de référence entre Rails et Flask
[Ubuntu] [Python] Comparaison de la détection de visage entre dlib et OpenCV
datetime et écriture et sauvegarde de fichiers
Lire et écrire un fichier csv
Lire et écrire des fichiers
Écrire et lire des fichiers
Fonctions de tri et de comparaison Python 3
[Python] Comment définir des noms de variables dynamiquement et comparer la vitesse
AtCoder ABC151 Problème D Comparaison de la vitesse en C ++ / Python / PyPy
Différence entre Ruby et Python Split
Différence entre java et python (mémo)
Différence entre list () et [] en Python
Comparaison de vitesse du traitement de texte intégral de Wiktionary avec F # et Python
Différence entre == et est en python
[Python] Ecrire dans un fichier csv avec Python
Coopération entre le module python et l'API
Différence entre Python, stftime et strptime
Différence entre la série python2 et la série python3 dict.keys ()
Lecture et écriture de fichiers CSV Python
Mémo Python ① Opérations sur les dossiers et fichiers
comparaison du module de conversion de fichier exécutable python 2
Comparaison de la vitesse de la perspective XML Python
[Python] Différence entre fonction et méthode
Résumé des différences entre Python et PHP (tableau de comparaison des principaux éléments)
Python - Différence entre exec et eval
[Python] Différence entre randrange () et randint ()
[Python] Différence entre trié et trié (Colaboratoire)
Ecrire une liste de liens en langage C dans un style orienté objet (avec comparaison de code entre Python et Java)
Communiquez entre Elixir et Python avec gRPC
Différence d'authenticité entre Python et JavaScript
Différences entre Ruby et Python dans la portée
différence entre les instructions (instructions) et les expressions (expressions) en Python
Différences entre la syntaxe Python et Java
Différences dans la relation entre PHP et Python enfin et quitter
Différence entre @classmethod et @staticmethod en Python
Copiez le fichier et réécrivez la valeur de la cellule @python
Différence entre append et + = dans la liste Python
Différence entre non local et global en Python
[Python] Différence entre la méthode de classe et la méthode statique
Accès exclusif aux fichiers entre les processus en Python
Différence entre le fichier env_file docker-compose et le fichier .env
Lire et écrire des fichiers JSON avec Python
Voir les informations sur les fichiers et les dossiers sur python
[Python3] Basculer entre Shift_JIS, UTF-8 et ASCII
[Python Iroha] Différence entre List et Tuple
[python] Différence entre la sortie rand et randn
Différence de vitesse entre wsgi, bouteille et flacon
Compressez les données python et écrivez sur sqlite
Différences de multithreading entre Python et Jython
Différence entre Ruby et Python (syntaxe de base)
[python] Lisez le fichier html et entraînez-vous au scraping
Correspondance entre les fonctions intégrées de Python et Rust
Comparaison de vitesse de murmurhash3, md5 et sha1
Communication de données chiffrées entre Python et C #