* OSASK-WikiのKのひとりごとの過去ログ
 -本家:[[OSA:K]]
 --過去ログにコメントしたい人も、本家のこめんと欄に突っ込んでください。
 
 * 2004.06
 
 *** ひとりごと
 -最長一致検索ルーチンは、コアの部分がとりあえずちゃんと動いているっぽい。なんか気分いいなあ。ちなみにこれは、ブロックソートにも簡単に転用できるじゃないかと、いまさら思いました。でもブロックソートは展開ルーチンを高速かつ省メモリで書く自信がないので今のところ採用予定なし。 -- '' '' SIZE(10){2004-06-01 (火) 23:42:17}
 -NWSOSスレッドの870さんの書き込みはいいなあ。いや、もちろんL氏を揶揄するために書いているんだとは思うけど、あれだけのやり取りからあそこまでまとめられるのはセンスがあるなあって。というか僕もあんなふうに揶揄されてみたいなあ。OSASKスレで僕の愚行をネタに創作してくれないかなあ。 -- '' '' SIZE(10){2004-06-02 (水) 03:24:42}
 -高速圧縮ルーチン動いたー!でもまだhellok1しか圧縮できてないけど。速くなっているのかどうかはまだ全然分かりませんが、このアルゴリズムなら速くなっているはずなんです(笑)。もっと大きいファイルでもちゃんと圧縮できるようにならないと意味ないな・・・。先を作ろう。 -- '' '' SIZE(10){2004-06-03 (木) 22:45:09}
 -はいできたようです。EPIA-VE5000でもbim2bincの圧縮が1秒で終わります。しかもmaxdis:64kなのに。劇的にまともになりました。 -- '' '' SIZE(10){2004-06-03 (木) 23:23:48}
 -osaskgoの圧縮がmaxdis:2mでも1分かかりません・・・。のはずなんですが、一番時間のかかっていた最長一致検出がすぐ終わる代わりに、今度は今まで気にならなかったパラメータ最適化が遅い・・・(遅くなったわけじゃなくて、前と同じ速さなんだけど、相対的に遅く感じるということで)。こりゃ、もっと手抜きでパラメータ決めるオプションが必要だなあ。 -- '' '' SIZE(10){2004-06-03 (木) 23:58:01}
 -osaskgoをmaxdis:2mのtek2で圧縮したら、ついに120.1を達成。lh7に勝てました。でも展開時に2MBもメモリが必要です(展開時の出力先がメモリの場合はこの2MBは不要ですが)。本当は512kあたりでやめておきたいのですが、実は今高速圧縮ルーチンが手抜きで、maxdisを展開サイズよりも大きくしないとうまくいかないのです。明日はその辺を直すかなあ。 -- '' '' SIZE(10){2004-06-04 (金) 03:33:25}
 -とりあえずosaskgoをmaxdis:2mで75秒で圧縮できます(EPIA-VE5000)。もっともこの場合tek2なのに圧縮率はl2d3レベルで、対rk圧縮指数は130.1ですが。ちょっと圧縮レベルを上げると79秒になって123.1。これがtek0レベルです(maxdisが大きいのでtek0レベルでも結構小さい)。他にも今までの圧縮レベル未満のレベルを用意して、圧縮速度の問題を解決しています。速度についてはたぶんmaxdisを下げればもっと速くできます。というかこれらの圧縮時間のうちの73秒程度が最長一致検索処理に費やされているので、これをさらに改良すればもっとましになります。多分まだ数倍くらいに加速する余地はあるでしょう。 -- '' '' SIZE(10){2004-06-04 (金) 20:39:33}
 -ちなみに今まではosaskgoをmaxdis:32k(デフォルト)で圧縮したら同じマシンで約30分、64kだと約1時間かかっていました。2mは64kのさらに32倍なので、75秒にしても79秒にしてもかなり大規模な進歩です。4分かけると120.9になります。120.1にできるモードはもっとかかります。デフォルトは123.1のやつにしようと思っています(maxdisのデフォルトも32kのままにする予定なのでデフォルトはかなり速いです、たぶん)。 -- '' '' SIZE(10){2004-06-04 (金) 21:08:53}
 -今度はmaxdisを32kに制限するのがひどく面倒になってきた・・・。でもこのルーチン書かないとさらに速くできないもんなあ。はああ。 -- '' '' SIZE(10){2004-06-05 (土) 18:26:56}
 -maxdisを小さく制御するルーチンがどうもうまく動いてくれない。どうもしばらく頭を休めないとここのデバッグはできそうにない気がしてきた。しかしだからといってbim2binをほうっておくことはできないので、とりあえず、明日の夜までに今まともに動くルーチンだけを組み合わせて、それなりにまとめることにします。それができたら、OSASK ver.4.6の開発をはじめなければ! -- '' '' SIZE(10){2004-06-06 (日) 20:24:38}
 -ああどうして「よしこれでいいだろう」と思うと新しいアイデアを思いついてしまうんだろう。>tek -- '' '' SIZE(10){2004-06-09 (水) 17:20:56}
 -この新しいアイデアは期待大です。(理論上の予想では)展開速度もいい感じですが、問題が一つあって、それはちょっとメモリを食ってしまうこと。まあ問題にするほどメモリを食うわけではないのですが・・・。これはtek1〜tek3に対するオプション的なもので、別の新形式ではありません。ということでtek3は既にリリース可能な域に達しているのですが、bim2bin4iのリリースはまだしばらくかかりそうです。 -- '' '' SIZE(10){2004-06-10 (木) 17:04:43}
 -tek3に早速この機能を実装しました。すごく都合のよい内容の256バイトのファイルを準備したところ、tek3ではこれを29バイトにできますが、かのLZMAですら248バイトにしかできません。かなりいけてます。でも、これは今までのtek1〜tek3が不得意なパターンの部分にしか効かないので(つまり弱点補強型)、今までサンプルにしてきたbim2bincやkdun00bではたぶん改善はないでしょう。 -- '' '' SIZE(10){2004-06-11 (金) 00:05:42}
 -やっとtek3だけは一通りできた(と思う)。tek1とtek2はまだadv2サポートができてない。 -- '' '' SIZE(10){2004-06-14 (月) 16:07:33}
 -tek1/tek2も展開ルーチンだけならadv2をサポートできたと思う。でも実際に解凍させてテストさせたわけじゃないから、ちょっと自信ない。ついでに展開ルーチンを流用しやすくするために、マルチスレッド対応にしてみた(要するにグローバル変数を使わなくしただけ)。 -- '' '' SIZE(10){2004-06-15 (火) 01:41:47}
 -I.tak.さんのアプリをちょっと見て、非矩形ウィンドウや透過ウィンドウをやりたいと思う人もいるんだなーって思ったので、そのうち前から考えていたやつをOSASKに組み込むかなあ。僕のアイデアがうまくいけば、かなり軽い非矩形ウィンドウ(変形可能)やかなり軽い半透明ウィンドウができる「はず」です。 -- '' '' SIZE(10){2004-06-16 (水) 16:22:12}
 -しまったまた書き忘れた。.ttk(.tar.tk)が好調なので、dttkっていう展開ツールを作ったら便利だろうなあって思ったんだった。これはdtkfにtarの展開ルーチンをくっつけただけのやつ。10KBくらいでできそうじゃない?だれかひょっこり作ってくれたりしないかな。 -- '' '' SIZE(10){2004-06-16 (水) 16:26:15}
 -さて明日はでかくなりすぎたこのページを片付けるかな。 -- '' '' SIZE(10){2004-06-16 (水) 23:05:21}
 -あああ・・・。またtekの仕様を微妙に変えそう。まあほとんど影響はないとは思いますが。展開ルーチンをASKAで書いているうちに、「こんなリッチな仕様にしても展開速度が稼ぎにくいだけで、圧縮率はほとんど変わらないじゃん」というところを見つけてしまったので・・・。現在tek1/tek2の1/3くらいをASKA化したところです。 -- '' '' SIZE(10){2004-06-20 (日) 17:23:35}
 -LZMAのソースを読んで、distanceのキャッシュを持つことが有効だとやっと分かった。これをtek3に導入したら劇的に圧縮率が改善した。たとえばosaskgo:144.6→137.0、osask.bmp:188.5→170.5など。これにあわせてtek1/tek2も改造の予定。あーあ、いつになったら確定できることやら・・・。 -- '' '' SIZE(10){2004-06-22 (火) 16:35:19}
 -tek3をさらに改良。osaskgo:137.0→129.1、osask.bmp:170.5→164.6。osaskgoでLZOに圧縮率で勝てるようになりました。あとは、展開速度がどうなるか、です。 -- '' '' SIZE(10){2004-06-22 (火) 20:37:32}
 -今夜の結論:思い込みはよくない。実験あるのみ。 --- 新tek3のデフォルトパラメータ選定に関して -- SIZE(10){2004-06-25 (金) 02:46:46}
 -とりあえず、かなり間があいた気がするので、ここらでいったんリリースする必要ありだよなあ。tek1とtek2はなんとなく確定っぽいし。 -- '' '' SIZE(10){2004-06-26 (土) 03:53:40}
 -がーん、さんざん苦労したあげくに、工夫しないほうがいい部分を発見。しくしく・・・。圧縮は奥が深いね。 -- '' '' SIZE(10){2004-06-26 (土) 16:44:38}
 -やっとtek4の展開コアができた。でも圧縮ルーチンがまだ書けてない。がんばりちゅう。 -- '' '' SIZE(10){2004-06-30 (水) 11:31:52}
 
 *** このひとりごとに対するこめんと
 -フォーマット確定マダー? -- ''sakky'' SIZE(10){2004-06-22 (火) 18:28:42}
 -僕も早く確定させたいよう・・・(泣) -- [[K]] SIZE(10){2004-06-25 (金) 02:47:51}

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS