Pluteus icon

Pluteus compared

The same library, the same machine, four servers: Pluteus, Ubooquity, Komga and Kavita. Image size, memory, scan time, disk use and browsing speed, measured, with the method and where Pluteus loses.

The short version

12,000 files

6,000 CBZ comics (60 series, each with a ComicInfo.xml) and 6,000 EPUBs (400 authors, with series metadata), 284 MB in all. All files are invented.

Pluteus 0.4.0Ubooquity 3.1.0Komga 26.04Kavita
Docker image215 MB371 MB809 MB900 MB
Server answers after1.1 snot timed11.9 s16.9 s
Whole library browsable afterat once12 min (721 s)14 min (827 s)cancelled after about 10 min
comics indexed in 3.5 to 5.7 min; the EPUB library had not appeared
Memory at rest, no library yet29 MBnot measurable
it scans at launch
605 MB339 MB
Memory at rest, library loaded29 MB203 MB833 MB–
Peak memory while an app browses63 MB277 MB852 MB–
State kept on disk7 MB31 MB48 MB111 MB
comics only
OPDS browsing, first pass
median / 95th percentile
695 ms / 2.5 s16 ms / 46 ms197 ms / 346 ms–
OPDS browsing, second pass83 ms / 250 ms13 ms / 22 ms191 ms / 326 ms–

3,000 files

The same layout with a quarter of the files: 1,500 comics and 1,500 EPUBs, 71 MB. Run to see what changes when the library is smaller.

Pluteus 0.4.0Ubooquity 3.1.0Komga 26.04Kavita
Server answers after1.2 s2.7 s12.4 s17.5 s
Whole library browsable afterat once3 min (173 s)1.6 min (95 s) to list;
busy for 19 min after that
cancelled after 15 min
comics indexed; the EPUB library had not appeared
Memory at rest, no library yet29 MBnot measurable
it scans at launch
615 MB360 MB
Memory at rest, library loaded29 MB169 MB839 MB338 MB
comics only
Peak memory while an app browses39 MB187 MB875 MB–
State kept on disk5 MB10 MB37 MB–
OPDS browsing, first pass
median / 95th percentile
737 ms / 1.6 s20 ms / 66 ms332 ms / 510 ms–
OPDS browsing, second pass85 ms / 134 ms13 ms / 24 ms342 ms / 591 ms–

Memory barely moves with library size: Pluteus went from 29 to 63 MB peak and Ubooquity from 187 to 277 MB when the library quadrupled, while Komga stayed near 850 MB either way. What grows is scan time for the products that scan, and Pluteus does not scan.

Why Pluteus is slow on a first visit

Pluteus keeps no index. When you open a folder of comics it reads each archive's page list so that reader apps can stream pages, and it caches the answer. The other products read every file once during their scan, then answer from a database. So Pluteus pays at the first visit what they pay up front, spread over the folders you actually open. It is a fair trade for a library of tens of terabytes you mostly never browse in full, and a worse one if you want everything fast from the first tap. The numbers above show both sides: the first pass is slow, the second is not.

How this was measured

What went wrong, and what we left out

Measured on 12 October 2026. The raw results are in the Pluteus repository, under docs/benchmark.

Back to Pluteus Source on GitHub