Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: влияние на размера на блока


  • Subject: Re: lug-bg: влияние на размера на блока
  • From: Peter Pentchev <roam@xxxxxxxxxxx>
  • Date: Tue, 24 Aug 2004 14:48:30 +0300

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) изискват
четенето и записа да се прави на блокове с определен размер.

С други думи, какъвто и размер да избереш, tar няма да вмъква никаква
контролна информация "по средата" на съдържанието на архивираните
файлове.  Единственото, за което размерът има значение, е колко байта с
нули ще има на края на всеки файл - хм, сега като се замисля, това
наистина би могло да има значение, ако архивираш голям брой файлове,
всеки от които е с размер доста по-малък от 10KB (10KB е размерът на
блок по подразбиране) - тогава може да се окажеш в ситуация, в която
архивът съдържа доста повече нули, отколкото истински файлове.  Но
мисля, че bzip2 със стандартния си размер на блок от малко по-малко от
900KB няма да се шашне изобщо от това - ще си компресира нулите съвсем
спокойно и все още ще може да използва контекст/речник/whatever, за да
използва съдържанието на предишните файлове за компресия на следващите.

Разбира се, ако на някого му се намира време и желание за едно истинско
изследване (компресия на няколко вида данни с няколко различни размери
на блокове за tar и няколко различни размера на блокове за bzip2), това
ще бъде интересно и може да покаже какви глупости съм наговорил :)

Поздрави,
Петър

-- 
Peter Pentchev	roam@xxxxxxxxxxx    roam@xxxxxxxx    roam@xxxxxxxxxxx
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
Hey, out there - is it *you* reading me, or is it someone else?

Attachment: pgpoh0kqrA2KH.pgp
Description: PGP signature



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.