Azért egy "gyors" összehasonlítás érdekelt a bzip2 implementációk között:
- A linux bzip2 programja 40 perc alatt tömörítette ki a 15 GB-os dumpot
- a pbzip2 (parallel bzip2) 4 szálon meghajtva 20 perc lett (2 core x 2 thread van a laptopomban, szóval ez logikus) Ez nem rossz, de a pbzip2 nem része az alaprendszereknek általában
- Ugyanehhez a commons-compress-nek 100 percre volt szüksége. Véletlenül ilyen szép kerek szám, nem én találtam ki.
- Mennyi lenne ha csak IO lenne az egész: egy sata vincsi általában másodpercenként 100 megát fel tud olvasni szekvenciális olvasásnál, az 150 másodperc lenne elvileg, a gyakorlati teszt hajszál pontosan igazolta az elméletet :-)
Szóval azt találtam ki, hogy akkor beintegrálom a bzip2-t egy InputStream-ként és akkor a feldolgozást lehúztam kereken 40 százalékra. A bzip2-vel érdemes lenne még buherálni, csak ahhoz be kell lőni a procik számát, szóval kicsit komplikáltabb...
A szomorú az, hogy ez így csak linuxon fut, szóval jó lenne egy olyan InputStream, ami elmegy a bzip2-vel és fallbackel commons-collections-ra.
Ennyi lett a kód, és végülis ezzel sikerült kibékülnöm egyelőre.
Na, érdekességként az angol wikipédia adathalmazából azoknak, akik idáig eljutottak:
Na, érdekességként az angol wikipédia adathalmazából azoknak, akik idáig eljutottak:
- 162396 állat és növényfaj, illetve rendszertani akármi
- 239847 település
- 26312 hajó - ez teljesen beteg...
- 11902 tudós, 7762 sportoló, 2679 verekedő, 91871 "egyéb személy"
- 13172 író és 20084 könyv
- 7508 folyó
- 3003 politikai párt - és vajon mennyi korrupció?