超高速ブロックソーティング
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGソースrarで圧縮したmpeg4圧縮のaviファイル(47@`176@`689バイト)
計測環境 PIII750MHz
GCA(オプションデフォルト、ブロックサイズ16M?)
→187.519秒
オリジナル(ブロックサイズ16M)
→66.219秒
オリジナルはブロックソート->MTF->ランレングスだけなのですが、
後段のrangecorderのことを考えてもこれは早いのではないでしょうか。
詳細はソースを見てください
http://www.angelfire.com/sc2/f_bsort/f_bsort.zip
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004SAGE
NGNGGCAだと圧縮済みデータの処理と普通ののじゃ4倍くらいは速度が変わるが。
00051
NGNG0006デフォルトの名無しさん
NGNG0007いつでもどこでも名無しさん
NGNG速さはよくわからんけど、今度教えてもらおう。
0008名無しさんと休日(仮)
NGNG一応言っておくけどブロックソーティング単体じゃ圧縮できない。
ちなみにGCAでも殆ど縮まない、精々数パーセント > jpeg
ついでに言うと、すげー遅い。
GCAであれだけの速度が出てるのは凄いと思う。
0009デフォルトの名無しさん
NGNG00101
NGNGでもネタでした。
0011デフォルトの名無しさん
NGNGこうなったら「ブロックソートを語る」スレに変更だ!!
>> 4
そもそも、ローテートリストのソートに使われてる
クィックソートが遅さの原因なんだよな。
だから、縮みにくいデータ(ランダムデータ)ほど速いし、
縮みやすい(0ばっかしとか)は死ぬほど遅い事になる。
PPMDに比べて、メモリー少なくてもそれに迫るだけの圧縮率を
誇るのがBWT+MTF+RLE+ENTROPY圧縮の利点だと思うんだけど、
GCAはそれを無駄にしてるような気がしなくもなくもない。
メモリー消費16メガだっけ?でかすぎる。
0012デフォルトの名無しさん
NGNGより理想的な結果が得られます。
当然消費メモリ、速度が犠牲になりますけど。
MTFとRLEがどうにかもう少しいい形に出来ないか研究すると面白いかも。
0013SAGE
NGNGんじゃあ付き合ってみるか。
てゆーか逆に全0の方が速いぞ。>GCA
そこら辺の枝切りの具合がどうなってるのか気になるところ。
BWT の利点ってでも、ブロックサイズを増やせば増やすほど(一般には)
圧縮しやすいデータになってくとこじゃん? 簡単に高圧縮率を出そうとしたら
16MB位は使わないとどうしようもないような。
0014デフォルトの名無しさん
NGNG>こうなったら「ブロックソートを語る」スレに変更だ!!
じゃ、どーやったら高速にBWT出来るかでも考えるか。
>>13
>てゆーか逆に全0の方が速いぞ。>GCA
単色のBMPとか1秒かかんないしね、たぶんデータの内容によって
処理方法切り分けしてるんだと思う。
中途半端に縮みそうなデータが一番遅い > GCA
0015デフォルトの名無しさん
NGNG001611
NGNG> http://member.nifty.ne.jp/DO/index.htm
synsir氏の↑の掲示板での発言過去ログに
部分的にヒントが見え隠れしてる。
RLEをLZに置き換えるってのを試してみたことはあったけど、
あんまりいい結果は出なかった。
RLEよりも縮むんだけど、次段のエントロピ圧縮で負ける。
場合によってはRLEよりもLZの方が行けそうに思ったんだけどなぁ。
001712
NGNGプログレッシブソートってなんだろう。
マルチプロセッサにも適応できるソートらしいんだが。
ここのベンチを見るとLHAより速いね。
#googleしてたら出たんだが、ACB法ってどんなだろう。
0018SAGE
NGNG>>16
LZ + エントロピ圧縮 かますなら、行程を完全分離しちゃうと良くない。
LHa みたいに長さコードとかも混ぜた方が結果としては圧縮率はあがるようだ。
>>17
ACB ってマルコフモデリングの亜種じゃなかった?
0019デフォルトの名無しさん
NGNGデータに偏りがなくなっちゃうから駄目なんじゃないかなー。
反対に言えば、偏りが大きくなるような変換してやれば、圧縮率は上がると思うん
だけどどうだろう。
>>17
プログレッシブソートってDO++で言うところの先頭2文字での分布数えソート
みたいな物かな?
でも、同データが続いてるような場合だとこれを再帰させても要素数あんまり
へらないんだよね…。
>>18
>BWT自体の高速化を語るか、後段処理について語るのか。
りょーほーっつーのは駄目か…
とりあえず、高速化の方がスレタイトルは合ってるな(笑)
002018
NGNG自己レス。ごめんこれ勘違い。
こっちだね。→ http://www.cbloom.com/news/leoacb.html
ざっと読んだけどいまいち理解できなかった…。ちょいとマジメに読んでみるっす。
0021デフォルトの名無しさん
NGNG両方で行こうぜ
0022デフォルトの名無しさん
NGNG0023うにゅう
NGNGメモリもBWTより少なくて済からブロックサイズ増やせそうだし、
なにより速度がデータの内容に依存しないところが良い。
0024>
NGNG詳細希望〜
0026(使用禁止語)
NGNG速いからいいか。
002718
NGNG0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNG見たことがない。
0031デフォルトの名無しさん
NGNG日本語の解説はみたこと無いけど英語ならあるみたい。
あとひとつくらい見た気がしたが忘れた
0032デフォルトの名無しさん
NGNGありがとう。
プレフィックスリストってのはBWTなんかなぁ。
■ このスレッドは過去ログ倉庫に格納されています