|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
[C#] Indicizzazione file
Ciao a tutti!
Sto tentando di creare un indicizzatore di file in C#, ma sono incappato in un bel problema. Comincio spiegando il procedimento dall'inizio. Inizialmente i file trovati nell'hard disk li inserivo in una lista generica di stringhe (inserivo il percorso completo), ma quando si ha a che fare con un numero molto elevato di file, si ha un consumo spropositato di memoria. Ho così utilizzato una struttura ad albero (per nn avere un percorso ripetuto più volte). Es. C:\ Documents and Setting\ file_ds1.est file_ds2.est Programmi\ CartellaProgramma1\ fileCartellaProgramma1.est file.est (spero si veda l'identazione). Quindi, nel momento in cui cerco un file, viene eseguita la ricerca, e il file trovato verrà visualizzato nell'elenco risultati: se l'utente clicca sopra il risultato, esso viene aperto. Il problema comunque persiste, sebbene in misura minore: si ha ugualmente un elevato consumo di memoria. Esiste qualche soluzione? E' possibile aggirare il problema? |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Nov 2006
Messaggi: 34
|
Nessuno mi sa dare un aiutino?? Vi prego...
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jan 2000
Città: Provincia di Parma
Messaggi: 724
|
L'occupazione di memoria che hai mi sembra abbastanza normale, visto che, alla fine, ciascun carattere occupa 1 byte. L'unico aiuto che ti può dare .NET è che può fare in modo che, a parità di contenuto, ti venga restituita la reference alla stessa stringa, visto che il tipo stringa è un reference type.
Puoi provare ad usare DotLucene, che è una libreria per costruire motori di ricerca: http://incubator.apache.org/lucene.net/ Un esempio semplice di utilizzo lo trovi qui: http://www.codeproject.com/aspnet/DotLuceneSearch.asp Ciao
__________________
My Pc: Case Enermax Chakra - PSU Corsair HX520 - Gigabyte P35-DS3R - Core2 Duo E6550 - 6 Gb RAM Geil PC800 - 2x WD Caviar SE 320Gb (Raid1) - Xfx GeForce 8600Gt - Master Pioneer DVR111D - Samsung SM T220 - S.O. Windows 7 Ultimate x64 SP1 My blog: http://blogs.ugidotnet.org/alby Ultima modifica di Einstein : 31-07-2007 alle 08:09. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:22.