p0ll0 ha scritto:
andbin ha scritto:
p0ll0 ha scritto:
Tipo controllo che la parola esiste già nel documento di testo e se esiste già accanto ci incremento il numero.
Ma hai idea di quanto sia ALTAMENTE inefficiente una cosa del genere??
perché inefficiente?
Alt, allora innanzitutto precisiamo meglio, perché hai parlato di diverse cose.
1) Se avessi un singolo file di testo con dentro tutte le parole
una per riga, con a fianco (prima o dopo) il contatore, tipo:
123 ciao
45 hello
67 prova
.....
e questo file magari contiene 20000 parole, allora andare a modificare il contatore AD OGNI singola parola che ricavi da una sorgente è ALTAMENTE inefficiente. Perché detto in generale, un file del genere va letto e RISCRITTO tutto da zero ad ogni modifica, anche se cambi solo 1 riga (es. invece di 44 hello vuoi scrivere 45 hello).
2) Se avessi un file per ciascuna parola, dove il file contiene il contatore, tipo:
file "ciao" (o ciao.txt) contiene 123
file "hello" contiene 45
...
Incrementare il contatore è discretamente~abbastanza inefficiente. Certamente più efficiente di 1) ma comunque si tratta sempre di aprire, leggere e poi riscrivere il file, sebbene contenga una manciata di byte. E questo AD OGNI incremento.
E comunque ci possono essere problemi perché il nome del file
È la parola e se la parola contiene caratteri particolari o non ASCII, bisogna vedere quale file-system usi perché ci possono essere caratteri che NON puoi usare in un nome di file.
E nessuna di queste due opzioni è davvero valida, specialmente se il numero delle parole da elaborare è elevatissimo. Insomma, questi due approcci NON "scalano" un bel niente.