Repository navigation
cbzLab 2.0.4
- Opening a large batch of archives is dramatically faster. Measured on 2000
books, a bulk import went from 6.52s to 0.12s (53x), and 10,000 books now
import in 0.81s at a flat 0.08ms per book. Three things were responsible:
the file list was re-filtered and re-sorted once per file (O(n^2 log n)
overall), the whole settings file was rewritten to disk once per file for a
recent-files list that only keeps 8 entries, and archives were read strictly
one at a time. Reads are now parallel, and the list and settings are each
updated once at the end. - Cover thumbnails load lazily, per visible row, instead of being decoded for
every open file up front. Holding one decoded cover per book cost ~234KB
each - about 457MB at 2000 books - which was the real ceiling on library
size rather than speed. Memory is now bounded by what is on screen, and a
bulk import no longer pays for a second pass through each archive just to
extract a cover it may never show.
Full Changelog: v2.0.3...v2.0.4