In questo nuovo episodio del diario di sviluppo di ZipGenius X (il primo anche in italiano!) vedremo come abbiamo affrontato un problema che affliggeva ZipGenius 6, ossia la lettura di archivi contenenti diverse migliaia di files (a prescindere dalle loro dimensioni individuali) e per farlo, abbiamo preparato un nuovo video disponibile anche nel nostro canale YouTube.
ZipGenius 6 è progettato per precaricare l’intero contenuto di un archivio con lo scopo di rendere più fluida e veloce la successiva consultazione; tuttavia, se quest’approccio si è dimostrato efficiente con archivi contenenti poche centinaia di files (anche grandi di per sé), lo stesso è risultato molto poco efficiente quando si deve aprire un archivio con diverse migliaia di files.
Nel momento in cui abbiamo affrontato il problema nello sviluppo di ZipGenius X, ci siamo posti l’obiettivo di migliorare quell’approccio utilizzando un algoritmo di precaricamento più efficiente e ci siamo riusciti, ottenendo così un netto incremento delle prestazioni generali dell’applicazione – al quale ha anche contribuito l’abbandono di Delphi in favore dello sviluppo in C# su Visual Studio.
Ci siamo chiesti, quindi, se fosse possibile incrementare ulteriormente le prestazioni e abbiamo deciso di sperimentare un algoritmo dall’approccio diametralmente opposto al precedente: adesso ZipGenius X si limita a precaricare la struttura delle cartelle di un archivio. Ovviamente questo tipo di approccio implica l’accesso all’archivio ogni volta che l’utente chiede di aprire una cartella ma dai test condotti abbiamo capito che otteniamo prestazioni migliori caricando gruppi di files solo su richiesta anziché un blocco unico di migliaia di files in una sola volta.
Ecco il video.