Ricerca desktop: Beagle, Tracker e Strigi a confronto

Quella che oggi vi consiglio caldamente di leggere è un’analisi condotta da Michal Pryc e Xusheng Hou, di Sun Ireland, sui principali strumenti di indicizzazione e ricerca desktop attualmente esistenti per GNU/Linux: Beagle, Jindex, Tracker e Strigi.

Di Beagle, Tracker e Strigi ho parlato in passato. Jindex è un nuovo software che è attualmente in sviluppo da Sun, e sospetto sia il motivo per cui è stato condotto questo studio: verificare come si colloca Jindex a confronto con le attuali soluzioni. Non ho mai nascosto la mia predilezione per Tracker, che sono contento abbia incontrato anche il favore di Ubuntu e sarà probabilmente adottato in Feisty e forse anche in GNOME 2.20 :)

L’analisi, molto accurata, tiene conto di diversi fattori e si divide grossomodo due parti: prestazioni (velocità, utilizzo di RAM/CPU, consumo di risorse…) e funzionalità (tipi di file indicizzati, risultati trovati…). Le conclusioni sono abbastanza aperte e il test è stato condotto con il massimo dell’obiettività. Vi mostro qualche grafico saliente:

avvio.png
I tempi d’avvio dei quattro servizi: Beagle il più lento, Strigi il più veloce. Maluccio Tracker

cpu.png
L’uso in percentuale della CPU indicizzando file di testo. Strigi il più pesante, Jindex il più leggero. Anche qui, maluccio Tracker

memoria.png
L’uso di memoria. Malissimo Beagle e Jindex, che usano rispettivamente Mono e Java, ottime le prestazioni di Tracker e Strigi.

L’analisi, intitolata “Indexers comparison“, contiene molti più grafici e in realtà è un po’ lunghetta ma interessantissima: in ogni caso vi consiglio di leggerla! Qui ho inserito i grafici che bastonano maggiormente Tracker, per evidenziare le aree in cui deve essere migliorato, ma l’impressione è che tra i quattro sia il software che ha più potenzialità e meno impedimenti “gravi”. In conclusione dell’analisi i giudizi sui singoli progetti, li riporto più fedelmente possibile:

Beagle

PRO: progetto maturo e ben documentato, supporto a molti tipi mime, buona interfaccia grafica, stemming (riconosce parole simili)
CONTRO: elevato uso della CPU per file PDF, elevato uso della memoria, limite massimo di 100 risultati, linguaggio di programmazione (C#)

Tracker

PRO: ricerca tramite potenti script RDF, stemming (rinconosce parole simili), uso della memoria ridotto, API di ricerca comune con Strigi (in futuro)
CONTRO: uso della CPU elevato, problemi indicizzando molti txt, operatori di ricerca e caratteri speciali non supportati, ricerca RDF non documentate, niente ricerca avanzata nell’interfaccia

Strigi

PRO: usa “jstreams” di KDE, e non direttamente i file, questo permette di cercare dentro archivi compressi e cose simili, uso ridotto della memoria, tempi ridotti di indicizzazione, trova duplicati dei file,API di ricerca comune con Tracker (in futuro)
CONTRO: elevato uso della CPU per file PDF, lascia pdftotext “zombificato”, problemi con alcune ricerche e con maiuscole/minuscole, standard di ricerca, documentazione mancante, interfaccia disegnata male, codice non chiaramente ANSI C / POSIX

Le mie conclusioni? Ovviamente soggettive :)

Io non sono per niente oggettivo e non mi interessa fare paragoni equi, chi mi ha letto in passato sa che preferisco e supporto Tracker per tanti motivi, primo fra tutti la leggerezza, l’efficienza e il fatto che sia svincolato dal pesantissimo e poco efficiente Mono (“Niente fottutissimi .exe nella mia box!“), al contrario di Beagle.

Bene, dico solo che tutto sembra confermare la bontà di Tracker, e i contro che pesano sulla sua adozione si limitano ad un uso eccessivo della CPU, che confermo. Per il resto, in tutta l’analisi si nota la maturità di Beagle e delle caratteristiche che il progetto ha maturato, tanto da essere usato un po’ come punto di riferimento.

Beh, Tracker cresce a velocità incredibile, e il punto di riferimento Beagle resta tale solo per il supporto a più formati e alla maturità di un progetto sviluppato da anni. Per il resto ci stiamo avvicinando :)

17 pensieri su “Ricerca desktop: Beagle, Tracker e Strigi a confronto

  1. Ho guardato i grafici e le tabelle di quel file PDF, e sono rimasto molto impressionato da Strigi, in particolare per quel che riguarda i tempi di creazione del database, veramente ridotti rispetto agli altri. Peccato che non funzioni molto bene per quel che riguarda la ricerca… ma sicuramente per l’uscita di KDE4 funzionerà alla grande.
    KDE comincia ad attirarmi sempre di più :D

  2. Giusto un paio di notti fa ho sistemato il problema dei processi “zombie” di Strigi.
    Ovviamente il tutto sarà disponibile a partire dalla prossima release (insieme ad altre features/fix)

  3. Strigi rulez :F
    no comunque apparte il mio commento soggettivo diciamo che sono un po meravigliato… non mi aspettavo questi valori… bisogna vedere come gli sviluppatori cercheranno di sistemare i “contro” che hai segnalato, io comunque preferisco strigi :)

  4. strigi e’ bello, ma per il momento, non e’ utilizzabile al massimo su kde3 :D

    ha una gui in qt4 (bella si, ma non integrata con kde3), l’integrazione con konqueror va migliorata e non memorizza le impostazioni (almeno a me)

    ma cmq con kde4 lo integreranno benissimo!

    naturalmente tracker e strigi sono progetti abbastanza giovani (sopratutto strigi..) e possono ancora subire modifiche enormi, sia in termini di prestazioni che di funzionalita’ delle gui :D

  5. Una cosa che ho notato subito in tracker, infatti, è un uso elevatissimo di CPU per l’indicizzazione di tutti i files, e spero veramente che si possa lavorare in questo senso per ottenere risultati migliori.

    Per il resto, da utente GNOME dichiarato, direi che Tracker resta la scelta più logica. Apprezzavo molto Beagle (un progetto che tutt’ora reputo affidabile, forse più del primo), ma amo sperimentare e utilizzare nuovo software, specialmente se si comincia a parlare di semantica. :-)

  6. Io non direi che l’utilizzo di C# da parte di Beagle sia un contro. Vista da programmatore – senza pensare ad implicazioni morali, che non mi toccano minimamente (chi mi conosce sa che non sono affatto legato al concetto di ‘free software’) – eliminare il C# dai linguaggi utilizzabili (considerando quanto sia buono) è un errore; anche Microsoft può avere delle buone idee!

  7. bel articolo ma secondo me manca qualcosa…
    potresti anche dare anche le specifiche del hardware, versione del sistema operativo e delle versioni del software sul quale hai fatto il test?

    ciao

  8. io utilizzavo tracker,l’ho dovuto disabilitare perchè mi tiene la CPU al massimo, penso sia colpa di un bug… spero che la prossima versione risolva questo problema…

  9. @Riccardo:

    Quella che oggi vi consiglio caldamente di leggere è un’analisi condotta da Michal Pryc e Xusheng Hou, di Sun Ireland

    Io non ho fatto alcun test, sono stati quei due che cito all’inizio del “bel articolo”, se leggi il loro test ci trovi una immensa quantità di info, tra cui le spec dell’hardware usato :)

  10. ho installato strigi sulla mia Arch Linux e ho finalmente trovato il mio desktop search, facile, veloce
    e non so come, si integra perfettamente nel mio gnome. è normale che per 117881 file indicizzati strigi occupi 275mb ????

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...