|
Re: lug-bg: влияние на размера на блока
- Subject: Re: lug-bg: влияние на размера на блока
- From: Romeo Ninov <rninov@xxxxxxxxxx>
- Date: Tue, 24 Aug 2004 16:46:54 +0300
Благодаря за подробната информация. Процеса ми се изясни доста:-) При
мен конкретно става въпрос основно за малки файлове.
Peter Pentchev wrote:
On Tue, Aug 24, 2004 at 01:57:22PM +0300, Romeo Ninov wrote:
Имам следната ситуация:
изшълнявам следната команда tar cf - <files>|bzip2 -9
Интересува ме има ли някой идея какво е влиянието на размера на блока,
дефиниран от tar : --block-size=N върху степента и скоростта на
компресия на bzip2
Според мен не би трябвало да има никакво значение. От това, което чета
за формата на tar архиви в manual page tar(5) във FreeBSD 5.x (след като
Тим Кинцле създаде bsdtar и документира файловите формати), тази опция
управлява единствено това колко запълване да има на края на всеки файл.
Блоковете, съставящи един файл в архива, не съдържат НИКАКВИ контролни
данни, които да бъдат използвани от архиватора (или деархиватора) -
единствената причина за съществуване на тези блокове е просто фактът, че
лентовите устройства (а все пак tar значи tape archiver) изискват
четенето и записа да се прави на блокове с определен размер.
Доколкото имам спомени невинаги е така. Май в AIX по подразбиране
блоковете на лентите бяха с променливи размери, та се налагаше като
свалям от лента, правена на Solaris силом да му задавам размера.
С други думи, какъвто и размер да избереш, tar няма да вмъква никаква
контролна информация "по средата" на съдържанието на архивираните
файлове. Единственото, за което размерът има значение, е колко байта с
нули ще има на края на всеки файл - хм, сега като се замисля, това
наистина би могло да има значение, ако архивираш голям брой файлове,
всеки от които е с размер доста по-малък от 10KB (10KB е размерът на
блок по подразбиране) - тогава може да се окажеш в ситуация, в която
архивът съдържа доста повече нули, отколкото истински файлове. Но
мисля, че bzip2 със стандартния си размер на блок от малко по-малко от
900KB няма да се шашне изобщо от това - ще си компресира нулите съвсем
спокойно и все още ще може да използва контекст/речник/whatever, за да
използва съдържанието на предишните файлове за компресия на следващите.
Разбира се, ако на някого му се намира време и желание за едно истинско
изследване (компресия на няколко вида данни с няколко различни размери
на блокове за tar и няколко различни размера на блокове за bzip2), това
ще бъде интересно и може да покаже какви глупости съм наговорил :)
Поздрави,
Петър
--
<><><><><><><><><><><><><><><><><><><><><><><><>
Regards: Romeo Ninov
IIS sysadmin
<><><><><><><><><><><><><><><><><><><><><><><><>
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|
|
|