uhm, hai preallocato il vettore con una dimensione ragionevole o l'hai lasciato a 1?...trie...codice:0m4.196s
uhm, hai preallocato il vettore con una dimensione ragionevole o l'hai lasciato a 1?...trie...codice:0m4.196s
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
Niente, oggi mi annoiavo ed era da un po' che volevo provare http://pike.lysator.liu.se/ per farmi un'idea, quindi ho provato a trascrivere il codice che avevo scritto in Python. E quindi niente, io di certo non lo so usare, la documentazione è pessima e non ho ancora trovato un singolo post su internet che spieghi come lanciare un'eccezione, però so come catturarla
Fatto sta che ci ho messo di più a scrivere questo che lo script originale e comunque eccolo qui tanto per https://ideone.com/IhJr3o
Una cosa la devo dire però, almeno vedevo gli errori di tipo (non tutti)...
Ultima modifica di Scara95; 27-09-2017 a 02:10
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
Sorry se non ho risposto ieri, ma ho avuto un calo di tensione e linux ha fatto bum dovendo recuperare e reinstallare tutto
Ho lasciato a 1, questa sera provo sia a cambiare dimensione che a implementare un metodo di allocazione statico (generando prima le possibili combinazioni di allocazione nelle forme più brevi possibili) e poi nella trie aggiornando solo i valori.uhm, hai preallocato il vettore con una dimensione ragionevole o l'hai lasciato a 1?
ok, allocando la dimensione giusta e pre-inizializzando tutti i nodi, facendo anche un memset generale, eliminando poi l'if (tmp == 0) { alloca() }
Il risultato è identico: 48 secondi circa ogni test
Quindi direi l'avventura conclusa visto che passerò alla parallelizzazione dell'hashtable, non posso che ringraziarti, sei stato parte fondamentalmente nell'algoritmo.
Se hai un nome e me lo vuoi spedire per PM lo aggiungerò ai source codes oltre al nick, anche se sarà leggibile solo dai miei collaboratori, come puro gesto simbolico.
Ti ringrazio di tutto