Allora funziona come Word! ;-)
Il giorno 16 maggio 2011 16:28, Filadelfo Fiamma <philosga...@gmail.com> ha scritto: > > Ciao ragazzi, > Vi ricontatto in merito alla discussione che ho aperto il 10 maggio. > Ricapitolando in breve, mi sono interessato nella gestione > incrementale dei file pickle, facendo in modo che il salvataggio > dell'intero oggetto non avvenga ad ogni dump(), ma che vada ad > interessare solo la parte da aggiungere. In questo modo vengono > creati N file pickle che sono raggruppati alla fine del processo, > oppure su richiesta, in un unico file pickle. > Ho effettuato svariate prove, verificando il funzionamento del > processo, in particolar modo la correttezza delle informazioni: in > effetti cosi è. > L'unica anomalia che ho riscontrato è la dimensione del pickle: il > pickle creato dal raggruppamento di tutti i pickle di aggiornamento, > ha una dimensione maggiore rispetto a quanto aspettato (Il paragone è > stato fatto con la dimensione di un file pickle generato senza > gestione incrementale, in modo classico). > Premetto che non mi sono minimamente fidato di ricostruire "a mano" > l'oggetto, con il copia incolla dei pkl a livello testuale, bensì ho > ricostruito in memoria l'oggetto, che è un dizionario, ed ho > effettuato il dump finale. > Analizzando il contenuto testuale del pickle, ho notato l'aggiunta di > diverse righe (g5,g6,g7 ecc) ripetute per ogni chiave del dizionario. > Ho inoltre notato che, utilizzando tipi di dato semplice, non è > presente questa differenza nella dimensione. > Da cosa può dipendere questa anomalia, se di anomalia si tratta? > > Grazie mille > Buon pomeriggio a tutti > > FF > > >Il 10 maggio 2011 17:17, Filadelfo Fiamma <philosga...@gmail.com> ha scritto: > > 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 > > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python