【gzip】圧縮対決【bzip2】
■ このスレッドは過去ログ倉庫に格納されています
最後のPCでwithoutのほう試すの忘れて電源切っちゃったけど 多分13800前後になるんだと思う なんでか分からないけどディレクトリ付きのほうが 圧縮するときメモリ使うってことじゃないかな と適当なこと書いたけどxzやってる間そんなメモリ使ってないな >>70 おー、そういう検証はとてもありがたい。 しかし Slackwareが出てくるとは…、年季入ってそうっすね。 こっちのメモリは、↓な感じ。 Mem: 3371996 2639292 732704 0 264628 1622812 まさにwithoutの方頼もうと思ってたら、電源切っちゃいましたか… メモリの使い方については、xz の man pageの "Memory usage"に いろいろ書いてありますね。 でも、メモリ搭載量で圧縮率に変動があるとしても、元々のお題の ディレクトリを含む/含まないによって圧縮率が変わることへの 直接の回答にはなっていないような感じ… んで、今さらながら より新しいバージョンの xz-utilsの NEWSを見てみたんだけど、 http://git.tukaani.org/?p=xz.git ;a=blob;f=NEWS;hb=HEAD 5.0.3 (2011-05-21) * liblzma fixes: - lzma_stream_buffer_encode() no longer creates an empty .xz Block if encoding an empty buffer. Such an empty Block with LZMA2 data would trigger a bug in 5.0.1 and older (see the first bullet point in 5.0.2 notes). When releasing 5.0.2, I thought that no encoder creates this kind of files but I was wrong. なんかこれっぽい感じ。 今日はもう寝るけど、明日にでも sid の 新しいバージョンビルドして確認してみよう。 >>67 のときと同じのを展開した後はこれで tar cJf logs_with_dir2.tar.xz log tar cJf logs_without_dir.tar.xz log/*.log Mem: 767544 97056 670488 0 15600 67276 -rw-r--r-- 1 aaa users 13908 1月 9 22:33 logs_with_dir.tar.xz -rw-r--r-- 1 aaa users 16948 1月 9 22:36 logs_with_dir2.tar.xz -rw-r--r-- 1 aaa users 13812 1月 9 22:34 logs_without_dir.tar.xz Mem: 1165120 359552 805568 0 7776 196436 -rw-r--r-- 1 aaa users 13908 1月 8 00:47 logs_with_dir.tar.xz -rw-r--r-- 1 aaa users 13828 1月 9 22:35 logs_with_dir2.tar.xz -rw-r--r-- 1 aaa users 13812 1月 9 22:36 logs_without_dir.tar.xz 同じPCでも今回はサイズが微妙に違った 明日とか言いつつ、時間たっちゃったな。 てことで xz-utils 5.1.1alpha+20120614 で確認してみた。 なんで 5.0.4じゃないかというと、debian sid に 5.0.4 がなかったから。 試した結果だけど、若干前よりどちらも圧縮率は上がったけど、 圧縮率の差はそのまま。 >>73 の 5.0.3のliblzma fixesは関係なかったみたい。 $ ls -al logs_with*tar* -rw-r--r-- 1 hiro hiro 16920 2013-01-14 03:54 logs_with_dir.tar.xz -rw-r--r-- 1 hiro hiro 13836 2013-01-14 03:55 logs_without_dir.tar.xz $ xz -l logs_with*dir.tar.xz Strms Blocks Compressed Uncompressed Ratio Check Filename 1 1 16.5 KiB 46.4 MiB 0.000 CRC64 logs_with_dir.tar.xz 1 1 13.5 KiB 46.4 MiB 0.000 CRC64 logs_without_dir.tar.xz ------------------------------------------------------------------------------- 2 2 30.0 KiB 92.8 MiB 0.000 CRC64 2 files >>67 の人が検証してくれたおかげでとりあえず確認できたのは、 どうやらメモリ環境によって圧縮率は変動するらしいってことくらいか。 確かにそれらしいことが xz の man pageの "Memory usage"に 書かれてるけど、ディレクトリありなしによって圧縮率が変動する ことの理由にはなってないよなぁ。 てことで、なんかすっきりしないけど、解明はあきらめました。 >>67 の人は協力してくれてありがとう。 誰かが xz-utilsのソース読み込んで、 この現象をすっきり説明してくれることを願う。 >>67 >>75 今更だが気になったので実験。 ファイルはGNUのtar-1.26.tar.xzを使用した。 Debian wheezy 7.0 tar 1.26 xz (XZ Utils) 5.1.0alpha liblzma 5.1.0alpha Mem: 8104148 2631116 5473032 0 21232 1628468 これをgz,bzip2,xzでそれぞれ -c をつけてリダイレクトして圧縮する。 $ tar -cf tar_with.tar tar-1.26 $ tar -cf tar_without.tar tar-1.26/* $ du -b * | sort 14899200 tar_with.tar 14899200 tar_without.tar 1763224 tar_without.tar.xz 1788988 tar_with.tar.xz 2348783 tar_without.tar.bz2 2360563 tar_with.tar.bz2 3455923 tar_without.tar.gz 3456187 tar_with.tar.gz となった。.tarを比較してみる。 $ diff tar_with*.tar バイナリファイル tar_with.tar とtar_without.tar は異なります と出力されたのでtarの方に原因があると思われ。 ディレクトリの有無によるファイルサイズの違いについては xz-utilsよりtarのソースを読んだ方がいいかもしれない。 CMIX http://www.byronknoll.com/cmix.html 圧縮率のためならメモリもCPUも使いまくるというポリシーの実装。 ベンチマークを見ると、30MBのファイルを550kBに圧縮できる代わりに、 メモリ20GBと24分という時間をかけている。 すごいけど推奨メモリ32GBはきつい… BWTのの改良方法考えたんだけど、方法書くから誰かプログラム組んでもらえない? プログラム起こす人いたら、仕様書きます。 BWTのWikipedia見て思いついたことなので、私の仕様に不備があったら、 プログラム書かなくっても教えてもらえると助かる 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 EVBFQZKA6L 僕の知り合いの知り合いができた副業情報ドットコム 関心がある人だけ見てください。 グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 V2TCB おまいら7zとxzは親戚で圧縮率が全く同じだって知ってた? >>83 7zは lzma2 や ppmd などから符号を選べる lzma2を選択したらxzと同じになる それだけ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる