Salve a tutti, dopo l'ultima discussione in cui sono stato invitato a verificare se ci guadagnassi veramente qualcosa a mappare con oggetti le mie tabelle SQL, mi sono reso conto... che l'SQL era semplicemente lo strumento sbagliato per me. Ed ho scoperto redis.
L'unico mio problema con redis è che devo usare svariati database diversi, che non stanno tutti in memoria. Però posso caricarli quando mi servono, con redis-dump-load.¹ Qui veniamo alla domanda: per fare ciò, i database devono essere salvati su disco in formato json (e qui l'efficienza è un problema secondario, dato che lo faccio una volta sola) e ricaricati. Ricaricarli è un'operazione che mi prende parecchio tempo (nel senso che devo anche farla svariate volte). Ha certamente a che fare con il fatto che il mio computer non è una scheggia (N.B: il bottleneck non è il disco), però comunque mi stupisce che, su due core che ho, l'utilizzo (verificato con un brutale "top") rimanga intorno al 80% di python + i 35% di redis. Non ho altri processi impegnino il processore in maniera significativa (tant'è che nella successiva fase di analisi dei dati, python è fisso al 100%). Ho letto che redis può essere nettamente più efficiente se si usa un socket unix invece che TCP-IP, ed in effetti provando ho notato un certo incremento di prestazioni (con il TCP-IP, le cifre erano piuttosto 70% di python + 30% di redis). Sapete dirmi se potrei fare qualcosa di più? O se dovrei arrendermi? grazie Pietro ¹ : https://github.com/p/redis-dump-load/ _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python