linux user group brescia

immagine del castello

Archivio della mailing list

Trattamento testo

andrea gelmini andrea.gelmini a lugbs.linux.it
Mar 15 Lug 2003 11:23:01 UTC
On Sat, Jul 12, 2003 at 11:24:44AM +0200, Vernia Damiano wrote:
> 	Ti credo, ora occhio a questo caso: il file sopra corrisponde alla 
> descrizione di una rete di telecomunicazioni. Io devo trovare dei percorsi 
> all'interno di questa rete. Questi percorsi vengono memorizzati come un 
> vettore lungo quanto il numero di nodi (numero che puo' raggiungere al 
> massimo 65000, quindi 2 byte) quindi un percorso (comunque lungo) occupa 
> in memoria 2 * Nnodi byte. Devo tenere in memoria 2 percorsi per ogni 
> relazione di traffico, senza contare tutte le altre diverse correlazioni 
> con dati che non sto a citare, tra cui esistono numerosi bitmap.
> 	Gia' il programma e' complesso di suo, se poi mi studio anche un 
> formato testuale per salvare e ricaricare i dati buonanotte.

eh? date queste premesse la tua domanda iniziale ha ancora meno senso. qui
vi sono ben altre problematiche e approcci da valutare/sfruttare.

> 	Sinceramente non credero' mai che un linguaggio interpretato sia 
> piu' veloce (o simile) a uno compilato. Sono un fan dei linguaggi 
questo dipende da cio` che devi far fare al linguaggio.

> interpretati piu' che dei compilati, ma se mi metto a scrivere 
> l'ottimizzatore in python (tanto di cappello, lo voglio imparare), sempre 
ottimizzatore de che?

> 6000-7000 minuti. Prego fare il conto... Dividere anche solo per 2 il 
> tempo di esecuzione di un singolo ciclo di ottimizzazione fa passare da 4 
> a 2 GIORNI (altrimenti sprecati).

il punto e` un altro. ottimizzando, soprattutto pesantemente, si
introducono degli errori, pertanto questo aspetto va gestito come ultimo
stadio. tipicamente, come vedo fare sempre piu` frequentemente anche nelle
realta` universitarie, si utilizza un linguaggio di scripting per
realizzare codice in tempi veloci al fine di valutare la bonta` degli
algoritmi, e solo al quel punto si migra al linguaggio finale e
all'ottimizzazione. il fatto e` che, a quel punto, eventuali
malfunzionamenti sono imputabili semplicemente alle ottimizzazioni e non
agli algoritmi. ad ogni modo, pero`, cosi` a naso direi che il tuo problema
si pone proprio sulla scelta degli algoritmi/modi da sfruttare, non tanto
sull'implementazione degli stessi. tanto per fare un esempio chiaro, tempo
fa abbiamo avuto a che fare con un problema abbastanza banale: dati una
serie di log, l'azienda X voleva estrapolarci dei dati. la soluzione
precedentemente implementata in C richiedeva almeno un paio di ore per
portare a termine il lavoro, il nostro script in bash meno di 5 secondi.

ciao,
andrea



Maggiori informazioni sulla lista Lug