idee? :)
Il giorno 10 ottobre 2012 14:01, Balan Victor <balan.vict...@gmail.com> ha scritto: > quello che devo fare è questo: > in fase di inizializzazione devo caricare in memoria un grafo(networkx) di > dimensioni consistenti: 60.000 nodi e più di 100.000 connessioni. PER > ADESSO dovrebbe essere in sola lettura e se devo fare delle modifiche posso > permettermi di stoppare tutto, fare le modifiche e rilanciare > l'applicazione. > Poi in base alle richieste che vengono effettuate devo andare a leggere le > informazioni che mi servono dal grafo, elaborarle e restituirle all'utente. > > Il giorno 10 ottobre 2012 12:46, Daniele Varrazzo <p...@develer.com> ha > scritto: > > On 2012-10-10 11:03, Marco Beri wrote: >> >>> 2012/10/10 Daniele Varrazzo <p...@develer.com> >>> >>> On 2012-10-10 09:03, Marco De Paoli wrote: >>>> >>>> Inoltre può esserti d'aiuto anche un occhiata al pattern Borg di Alex >>>> >>>>> Martelli >>>>> >>>>> >>>> Devo a questo cosiddetto pattern (è un'implementazione) le migliori ore >>>> della mia vita buttate in debug. Da non toccare neanche con una pertica. >>>> >>> >>> >>> :-)) >>> >>> Cosa era successo? Più processi attivi? Race condition? >>> >> >> Cosa deve succedere? Quello per cui è progettato: tu hai l'istanza di un >> oggetto, chiami qualche funzione apparentemente non correlata e alla riga >> dopo quell'istanza si comporta in maniera inconsistente da due righe prima. >> Anche un programma single-thread diventa imprevedibile. >> >> È solo una variabile globale glorificata, ma col rischio che nasconde il >> fatto di esserla. Molto meglio un singleton (il vero pattern di cui il borg >> è un'implementazione): almeno è esplicito che tutti ci possono mettere le >> mani e non fai assunzioni fuori luogo che sia una variabile locale. >> >> Per la storia, il programma in questione era Epydoc. Aggiungi il fatto >> che lo stato di questi oggetti veniva modificato in maniera casuale tra un >> run e l'altro, a seconda di che ordine venivano letti i sorgenti... È stato >> probabilmente il bug più ''.join(unsorted('aaacccozz')) che abbia mai >> trattato. Semplicemente perché un'istanza "ammalata" di borg non si >> comporta come un regolare oggetto Python: a is b == False, eppure cambi a e >> ti cambia anche b: un comportamento del tutto prevedibile no? >> >> >> >> -- >> Daniele Varrazzo - Develer S.r.l. >> http://www.develer.com >> ______________________________**_________________ >> Python mailing list >> Python@lists.python.it >> http://lists.python.it/**mailman/listinfo/python<http://lists.python.it/mailman/listinfo/python> >> > >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python