<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF133%3Axzip</id>
		<title>LXF133:xzip - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF133%3Axzip"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF133:xzip&amp;action=history"/>
		<updated>2026-05-13T13:23:15Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF133:xzip&amp;diff=12480&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF133:xzip&amp;diff=12480&amp;oldid=prev"/>
				<updated>2011-07-29T10:07:59Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: Хо­ти­те сэ­ко­но­мить ме­сто на диске? '''Бен Мар­ти'''н го­во­рит…&lt;br /&gt;
&lt;br /&gt;
==Xzipди-даба-дуу!==&lt;br /&gt;
&lt;br /&gt;
При усло­вии, что про­грам­ма сжа­тия мо­жет рас­па­ко­вать фай­лы в ис­ход­ное со­стояние, су­ще­ству­ет два основ­ных па­ра­мет­ра, ха­рак­те­ри­зую­щие при­ем­ле­мость схе­мы сжа­тия: ско­рость и раз­мер. Кро­ме них, есть еще про­бле­мы с па­тен­та­ми на ПО, воз­мож­ность мас­шта­би­ро­вания схе­мы на несколь­ко про­цес­со­ров или на­ли­чие гра­фи­че­ско­го ин­тер­фей­са, но основ­ное — эти два.&lt;br /&gt;
&lt;br /&gt;
Иногда мож­но по­жерт­во­вать раз­ме­ром ра­ди уве­ли­чения ско­ро­сти сжа­тия. На­при­мер, при об­ра­бот­ке фай­лов жур­на­лов на сер­ве­ре пред­поч­ти­тельнее ме­тод сжа­тия, ра­бо­таю­щий как мож­но бы­ст­рее. Тогда ар­хи­ва­ция бу­дет за­би­рать лишь 5–10 % про­из­во­ди­тель­но­сти про­цес­со­ра, а ма­ши­на смо­жет ис­поль­зо­вать остав­шие­ся ре­сур­сы для основ­ной дея­тель­но­сти – на­при­мер, об­слу­жи­вания ба­зы дан­ных.&lt;br /&gt;
&lt;br /&gt;
С дру­гой сто­ро­ны, ес­ли вы сжи­мае­те ис­ход­ные тек­сты яд­ра Linux или ваш соб­ствен­ный про­ект с от­кры­тым ко­дом, при­ори­те­ты мо­гут из­менить­ся. Ес­ли это зай­мет 10 ми­нут вме­сто пя­ти, но за­то раз­мер по­лу­чит­ся на 10 % мень­ше, вы, ве­ро­ят­но, за­хо­ти­те мень­ший по раз­ме­ру файл.&lt;br /&gt;
&lt;br /&gt;
===Ме­сто по­ме­че­но X'ом===&lt;br /&gt;
&lt;br /&gt;
Неко­то­рые сай­ты, пре­достав­ляю­щие сво­бод­ное ПО, в по­следнее вре­мя ста­ли на­ря­ду с фай­ла­ми '''.tar.bz2''' пред­ла­гать за­груз­ку фай­лов '''.tar.xz'''. Оба эти фай­ла рас­па­ко­вы­ва­ют­ся в несжа­тый ар­хив ''Tar'', но файл '''xz''' от ''xzip'' мо­жет быть по­мень­ше, чем ''bzip2''‑файл.&lt;br /&gt;
&lt;br /&gt;
Мы ре­ши­ли при­смот­реть­ся к ''xzip'', что­бы по­нять, на­мно­го ли он пре­восхо­дит бо­лее из­вест­ные ме­то­ды сжа­тия. Тести­ро­вание вы­пол­ня­лось на 2,4‑ГГц про­цес­со­ре Intel Q6600 с фай­ло­вой систе­мой на RAID-мас­си­ве: сжи­ма­лись ис­ход­ные тек­сты яд­ра 2.6.29, занимаю­щие в рас­па­ко­ван­ном ви­де 321 МБ. Для обе­их про­грамм ''bzip2'' и ''xzip'' ис­поль­зо­ва­лись оп­ции команд­ной стро­ки от '''-1''' до '''-9''' для ука­зания уров­ня сжа­тия. Де­вять – выс­ший уро­вень; он же и са­мый мед­лен­ный и, ве­ро­ят­но, бо­лее жа­ден до ОЗУ. Обе про­грам­мы тести­ро­ва­лись при уров­нях сжа­тия '''1, 5''' и '''9''', что­бы по­нять, как до­полнитель­ные вы­чис­ли­тель­ные ре­сур­сы влия­ют на раз­мер вы­ход­но­го фай­ла.&lt;br /&gt;
&lt;br /&gt;
По­сколь­ку Q6600 – 4‑ядер­ный чип, мы за­од­но про­тести­ро­ва­ли ''pbzip2'', спо­соб­ную ис­поль­зо­вать при сжа­тии несколь­ко ядер про­цес­со­ра. За­ме­тим, что ''xzip'' так­же име­ет оп­цию '''-t''' для ука­зания ко­ли­че­ства од­но­вре­мен­но ис­поль­зуе­мых по­то­ков, по­зво­ляю­щую за­дей­ство­вать несколь­ко про­цес­со­ров или ядер; од­на­ко в ру­ко­во­д­стве напи­са­но, что мно­го­по­точ­ный код по­ка не реа­ли­зо­ван.&lt;br /&gt;
&lt;br /&gt;
Ре­зуль­та­ты для яд­ра Linux по­ка­за­ны ниже. Помните, что процен­ты ука­за­ны от 321 МБ, так что на уровне '''5''' ''xzip'' да­ет око­ло 48 МБ вме­сто 56 МБ у ''bzip2'', а это су­ще­ствен­ная разница, ес­ли вы за­гру­жае­те файл из Ин­тернета. Кро­ме то­го, на уровне сжа­тия '''1''' при поч­ти та­ком же раз­ме­ре фай­ла ''xzip'' тре­бу­ет зна­чи­тель­но мень­ше вре­мени, чем од­но­ядер­ный ''bzip2''. Ес­ли вы же­лае­те сжать дан­ные на мно­го­ядер­ной ма­шине, ко­то­рая уже за­ня­та чем-то важ­ным, бы­строе «од­но­ядер­ное» сжа­тие мо­жет быть удач­ным ре­шением.&lt;br /&gt;
&lt;br /&gt;
===Ком­про­мисс со ско­ро­стью===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=Что­бы по­лу­чить луч­ший ре­зультат рас­па­ков­ки от ''punbzip2'', сжимай­те фай­лы при по­мо­щи ''pbzip2'', а не ''bzip2''.&lt;br /&gt;
&lt;br /&gt;
Ес­ли не­об­хо­ди­мо бы­строе сжа­тие и не очень ва­жен раз­мер фай­ла, по­про­буй­те ин­ст­ру­мент ''lzma''.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
По­лу­ча­те­ля дан­ных боль­ше ин­те­ре­су­ет вре­мя рас­па­ков­ки, чем чье-то вре­мя, по­тра­чен­ное на сжа­тие. И ес­ли вы сжи­мае­те тек­сто­вые фай­лы, вро­де жур­на­лов, то при рас­па­ков­ке дан­ных несколь­ко раз вы вновь и вновь бу­де­те тра­тить вре­мя.&lt;br /&gt;
&lt;br /&gt;
С точ­ки зрения рас­па­ков­ки важ­но то, что при ис­поль­зо­вании уровней 5 и 9 соз­дание ар­хи­ва в ''xzip'' доль­ше, но в обо­их слу­ча­ях рас­па­ков­ка зна­чи­тель­но бы­ст­рее, чем у ''bzip2''. На са­мом де­ле, мак­си­маль­но сжа­тый ''xzip'' файл рас­па­ко­вы­ва­ет­ся бы­ст­рее, чем в мно­го­ядер­ном ''pbunzip2/bzip2''. Но, как вид­но из гра­фи­ков, на сжа­тие на уровне 9 в ''xzip'' ухо­дит поч­ти впя­те­ро боль­ше вре­мени, чем в ''bzip2''.&lt;br /&gt;
&lt;br /&gt;
Для про­вер­ки ре­зуль­та­тов мы взя­ли дру­гой па­кет ис­ход­ных тек­стов – ''libferris'' вер­сии 1.4.5. Рас­па­ко­ван­ный ''Tar''-файл раз­ме­ра 25 МБ ужи­ма­ет­ся до 2,8 МБ в ''bzip'' и до 2 МБ в ''xzip'' (в обо­их слу­ча­ях уро­вень сжа­тия 9). На сей раз для сжа­тия ''tar''-ар­хи­ва ''xzip'' по­тре­бо­ва­лось 13,4 се­кун­ды, а ''bzip2'' – 5,5 се­кунд.&lt;br /&gt;
&lt;br /&gt;
===Сжа­тие тек­ста===&lt;br /&gt;
&lt;br /&gt;
Тип сжи­мае­мых дан­ных зна­чи­тель­но влия­ет на ре­зуль­ти­рую­щую сте­пень сжа­тия. Что­бы по­чув­ство­вать это, ска­ча­ем про­стой текст ро­ма­на «Вой­на и мир» с сай­та Project Gutenberg. Раз­мер тек­сто­во­го фай­ла – 3,2 МБ, а Zip-файл занима­ет 1,16 МБ. ''bzip2'' на всех уров­нях сжа­тия по­тре­бо­ва­лось око­ло 0,5 се­кун­ды, тогда как у ''pbzip2'' это за­ня­ло от 0,25 до 0,3 се­кунд, что вполне ожи­дае­мо. С дру­гой сто­ро­ны, ''xzip'' по­тре­бо­ва­лось от 0,6 се­кунд на уровне 1 до око­ло 3,3 на уров­нях 5 и 9. И вновь, на бо­лее вы­со­ких уров­нях ''xzip'' сжи­ма­ет дан­ные в 5-6 раз мед­леннее, чем ''bzip2''.&lt;br /&gt;
&lt;br /&gt;
На сей раз у ''bzip2'' файл архи­ва по­лу­чил­ся «лег­че», уменьшив­шись до 31,7 %, 27,9 % и 26,9 % от ис­ход­но­го раз­ме­ра на уров­нях -1, -5 и -9, тогда как в ''xzip'' эти циф­ры со­ста­ви­ли 37,5 %, 28,3 % и 28,3 %. ''pbzip2'' по­казал ре­зуль­та­ты, сход­ные с ''bzip2'', с неболь­ши­ми от­ли­чия­ми, вслед­ствие па­рал­лель­но­го сжа­тия.&lt;br /&gt;
&lt;br /&gt;
Итак, наш вы­вод: ес­ли вы намерены вы­жать из сжа­тия все до по­следней ка­п­ли, то ''xzip'' – ваш пер­вый вы­бор. Он сжи­ма­ет обыч­ный текст чуть ху­же, чем ''bzip2'', но, похоже, на ис­ход­ных ко­дах ''xzip'' по­ка­зы­ва­ет зна­чи­тель­ное пре­иму­ще­ство в сжа­тии при уве­ли­чении вре­мени сжа­тия в 5‑6 раз.&lt;br /&gt;
&lt;br /&gt;
===Ре­сур­сы===&lt;br /&gt;
&lt;br /&gt;
* До­маш­няя стра­ни­ца ''xzip'' http://tukaani.org/xz/&lt;br /&gt;
* «Вой­на и мир» гра­фа Льва Тол­сто­го (англ.) http://www.gutenberg.org/files/2600/2600.txt&lt;br /&gt;
* Биб­лия, Вет­хий и Но­вый за­ве­ты, вер­сия ко­ро­ля Яко­ва http://www.gutenberg.org/etext/10&lt;br /&gt;
&lt;br /&gt;
===Результаты сравнения===&lt;br /&gt;
&lt;br /&gt;
[[Изображение:LXF133_31_1.jpg|Результаты]]&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>