Köszönöm a tesztelést. Godot kérdésére adott válaszodat kiegészíteném a következőkkel (belátva, hogy nem volt reális elvárás ezt írnom a topicindítóban:
Ha valakit az érdekelne, hogy minek írtam ilyet, az oldalon talál néhány teszteredményt, annak figyelmes böngészéséből kiderül.
):
A projekt eredetileg kitömörítőként indult (ha megnézed a ChangeLog-ot, akkor látod, hogy eredetileg lbunzip2 volt a neve). A tömörítés triviálisan párhuzamosítható (kivéve persze, ha a tömörített blokkokat össze akarod shiftelni egyetlen bzip2 stream-be a végén, ami sebesség szempontjából nagy öngól, mert a muxert azonnal CPU-bound-dá teszi; ilyen pl. a 7za bzip2 modulja). Így a tömörítés és az egyszálú kitömörítés csak utólag lett hozzáadva.
A "kunszt" a többszálú kitömörítő:
- pipe-ból is párhuzamosan dolgozik,
- a single stream bz2 állományokat (egyetlen bzip2 stream-et) is párhuzamosan dob szét,
- a splitter nem CPU-, hanem IO- (pontosabban I-) bound, annak ellenére, hogy a bzip2 blokkok határai tetszőleges bitpozícióra eshetnek.
Ilyen felhasználási esetre példa: gpg -d kimenetét akarod kitömöríteni, vagy brutál hálózatról letöltve (wget -O -) egyből szét akarod dobni.
Javaslom, hogy az "oldalamról" jelenleg letölthető 3 reportba kukkantsatok bele, ha érdekel benneteket ennyire. Szerintem kibányászható belőle, hogy melyik esetben melyik programot érdemes használni. Javaslom a README-t is, ha valakinek van elég türelme :)
Az alapkikötés volt, hogy a libbz2-höz nem nyúlok.