J'ai beaucoup de fichiers de cornichons. Actuellement, je les ai lu dans une boucle mais cela prend beaucoup de temps. Je voudrais accélérer mais je n'ai aucune idée de la façon de faire ça.
Le multiprocession ne fonctionnerait pas car afin de transférer des données d'un sous-processus d'enfant aux principales données de processus doivent être sérialisées (marinées) et désérialisées.
L'utilisation de la filetage ne vous aiderait pas non plus à cause de gil.
Je pense que la solution serait une bibliothèque écrite en C qui prend une liste de fichiers à lire, puis exécute plusieurs threads (sans gil). Y a-t-il quelque chose comme ça autour?
MISE À JOUR Répondre à vos questions:
pandas.Series
objets mais le dtty n'est pas connu d'avancePensez à utiliser HDF5 via h5py
au lieu de pickle
. La performance est généralement beaucoup mieux que pickle
avec des données numériques dans Pandas
et numpy
structures de données et il prend en charge la plupart des types de données courants et compression.