• R/O
  • SSH
  • HTTPS

naniya: Liste der Commits


RSS
Rev. Zeit Autor
r113 2007-04-09 19:08:31 chapuni

リリースに向けて更新。
ごたくを削って、かわりに言い訳を挿入。

r112 2007-04-09 18:01:20 chapuni

ときどき区別なし判定に失敗するのは、unsignedの罠にハマってたのだった。…未熟。
ついでにデバッグメッセージをもうすこしトレースしやすいものに変更。

r111 2007-04-09 10:23:07 chapuni

ヒット判定に
- 零次判定ネガティヴハッシュ(ビットマップ)
- 一次判定小テーブル
を導入。一次判定は、ハッシュ版もつくってみたが、バイナリサーチとさほど性能が変わらなかったため、より頑丈なバイナリサーチを採用。
長年懸念になっていた、大小判定まわりをきっちり作り込…んだつもりなんだが、まだびみょーにバグってるみたい。このバグ取れたらリリースしよう。

r110 2007-04-06 20:41:25 chapuni

ALU_T を多用するかもなので、ALU_Tの付属定義を移動。

r109 2007-04-06 11:51:59 notanpe

3パターン展開を[]でまとめるように変更。

r108 2007-04-06 11:49:57 chapuni

PARAM::hit[] を廃止し、PARAM::t[] を伸ばす方向に記述を変更しました。
随所に散らばっていた t 関係のマジックナンバーを、crypt64.h, synth.h にて定義しました。
ワークエリア割り当ては、PARAM::hit[]廃止に伴い、tにさしかかるように取ることにしました。

disp_rm() において、disp==0 の最適化を入れました。

USE_64 時においても PTR_T は SI のまま使えるようにしたので、レジスタ割り当てを本来あるべき(に近い)姿に変更しました。

合成中に頻出する操作をまとめ、 reg_not(), reg_clr() を新設しました。

synth_assemble_lr() において、最初の積項を R6 で計算し R7 へ移動していましたが、これを直接 R7 上に展開するように最適化しました。

r107 2007-04-06 11:42:35 chapuni

USE_64 時、演算で破壊される T (%rsi) をポインタで利用するため、演算後に設定するようにしました。

r106 2007-04-06 11:29:32 chapuni

役に立つデバッグメッセージを追加。

r105 2007-04-06 09:02:35 notanpe

モジュールが増えたので、それへの対応。

r104 2007-04-05 22:59:21 chapuni

Emacs vc-svn がトチ狂うので、スマンけど日本語のファイル名は名前変更させて!

r103 2007-04-05 21:46:38 chapuni

せっかくだからスナップショット公開のために誤字脱字訂正。

r102 2007-04-05 21:35:59 chapuni

VC8では inline と書いちゃダメっぽいので、とりあえず外しとく。
(C99 では有効なキーワードのハズ)

r101 2007-04-05 21:18:01 chapuni

hit時のワークエリア叩きが効率悪かったので、ちょっとは効率よくなるように構造をやや作り替える。
つーかさっきのは、またもやキャッシュの呪いにかかってしまったようで…

r100 2007-04-05 20:18:36 chapuni

ノードの二重登録を行ってしまっていたのでちゃんとする。

r99 2007-04-05 20:09:59 chapuni

モジュール wdict.[ch] を新規作成し、辞書関係の記述を移動。
ついでに popcnt32() などを util.h へ移す。
動作に影響はない、ハズ。

r98 2007-04-05 18:55:45 chapuni

[./] のヒット処理を加えた。てきとうな処理なのでてきとうにヲーニングが出るが無視。

ついでにコメント1カ所修正。

r97 2007-04-05 18:55:05 chapuni

[./] を登録するときに、間違えてビットマップを渡していた。内部コードを渡すのだよ。

r96 2007-04-05 18:37:15 chapuni

これまた実験的に、[./]を区別なし文字扱いにした。でもなんだかすっきり書けないねぇ。

r95 2007-04-05 15:29:46 chapuni

昨夜いろいろバグってたので修正して、なんだか動いてる感じがするようにまでしてみた。
いちばんの勘違いは、ANDNの作用を取り違えていたことだったり。

r94 2007-04-05 15:23:53 chapuni

メッセージに関する説明を加えておきました。
開発版であることを明記しました。

r93 2007-04-04 23:57:28 chapuni

辞書だけじゃなく、論理項の結果もちゃんと出るようにしました。これで実用になるでしょう。

…って思って検証してたら、どうやら被覆最適化がバグってたもよう。一時的に殺してあります。

r92 2007-04-04 21:54:54 chapuni

実験的に、「英文字」クラスに、[./]を混ぜる。
世間一般の埋め草つきターゲットだと、劇的に性能が向上する。
いっそのこと、[./]を大小区別ナシ扱いにしてもいいかもしれんが要検討。

r91 2007-04-04 21:12:54 chapuni

NI_DICT節に対して定数削りの最適化が効いていなかったため、後半のコード生成でしんでた。

r90 2007-04-04 19:36:43 chapuni

辞書を更新する処理をちょっとズルして、プチ最適化しなくても木が肥大化しないようにした。これにより、30万語の辞書読み込みもあっという間に終わることとなった!

r89 2007-04-04 18:34:43 chapuni

末尾LRの全集合(無条件に t)を最適化フェイズでたたき落とせていなくて「やっちゃったー」になっていたため、対策。

r88 2007-04-04 17:36:11 notanpe

word to シリーズ

r87 2007-04-04 17:33:28 notanpe

これからの展開用に。

r86 2007-04-04 15:00:09 chapuni

LR生成の際に、式の相関により最適化を行うようにした。かなり効果があるハズだが、ときどき重いフェイズに突入してしまい、「ドツボ」ることがあるのでこれが今後の課題。

・木の最適化に、AND 1, OR 0 などの無意味項を丸める処理を追加。
・最適化の結果参照されなくなったLRノードを削除するようにした。ついでに削除ノードを最適化効果指標として報告するようにした。
・synth_extract_minterm() に記述されていた処理の大部分は、前段の synth_expand_terms() にて終わっているので、処理を大幅に削った。
・synth_simplify_qm() は、生成限界に達したときに全主項を返すようにした(未デバッグ)。

ついでに、N_INFLIGHT=2 にしてみた。いいのか?

r85 2007-04-04 11:08:01 notanpe

Fastcall がダメな環境への対応。

r84 2007-04-03 13:20:09 chapuni

転置のつくりかた/取り出し方が x64 では根本的にマズかったので修正。USE_64, USE_64_XMM にて確認。
ついでに、比較ビット中ヒット率も表示するようにした(デバッグモード)。

Show on old repository browser