[Python] Aggiornare file pickle

Filadelfo Fiamma philosganga a gmail.com
Mar 10 Maggio 2011 17:17:54 CEST


Ringrazio tutti quanti :)
Mi permetto di descrivere brevemente ciò che ho sperimentato, seppur
esso non sia generica come applicazione, ma riesce a gestire oggetti
fatti in questo modo: {key:[]}, nel mio caso è un log per gli accessi
effettuati su di un certo file, ordinati cronologicamente.

La classica dump() va a ricreare il mio log.pkl ogni qualvolta si
effettua un accesso.
La dump() modificata invece crea un file log_X.pkl, con X
incrementale, che contiene solo l'accesso appena effettuato.

La load() modificata dunque tiene di tutti i file log_X e li raggruppa
per ottenere l'intero oggetto, in più si occupa anche di eliminare
tutti i file log_X e di riunire tutta l'informazione in un unico file
pkl, considerando che quest'azione avviene solo in fase di
inizializzazione, ho ritenuto che fosse tollerabile rallentare questa
fase per poter essere veloci nelle dump(), magari sarebbe opportuno
effettuare questo raggruppamento ogni qualvolta si raggiunga un certo
numero di file log_X.

Ho effettuato il profiling inserendo 2000 volte la chiave 'pippo',
avente come valore un indice incrementale.
La dump() classica il computer ha impiegato 27.321 secondi
La dump() modificata invece ha impiegato 4.114 secondi

Buona serata a tutti


Maggiori informazioni sulla lista Python