/ 最近 .rdf 追記 編集 設定 本棚

脳log[20190125]



2019年01月25日 (金) [SakuraEditor] #765 #766 PR 本文の不備くらいって言われたけども、それは他者への最低限の礼儀であり必要条件だ。形式や枝葉ではなく核心(PR の目的)がないって言ってんだから当然だ。■内容を判断すればコードを費やすほどの価値がないという結論になる。そもそも価値を示す証拠が提出されていない。1.そこが問題(ホットスポット。ボトルネック)であること。2.アプリケーションで効果を実測すること。3.マイクロベンチマークに基づいて机上の空論を通すとしても、(ExtTextOut への)適用箇所が実験の条件に合致するという言質なり証拠なりがなければ論理がつながらない。そのどれかをクリアするのが必要条件で、でもマージするのに十分な条件ではない。でも必要から十分への間には主観的価値(「多少のペナルティに目をつぶっても記述は少ないほうがいい。API、ライブラリ、コンパイラに仕事をさせるほうがいい」)が含まれるから問わなかった。体裁ぐらい、ではなく、体裁だけでも、だった。ちまちましたことに血道をあげるモチベーションを削ぐこともないと思ったから。■自分にとっての最適化、リファクタリングのひとつは MyFillRect のような無駄を取り除くことにある。既存の道具を使わない理由がない。だって FillRect はボトルネックでも使ってはいけない罠 API でもないでしょう? そうして非本質的なコード、絡み合って生じた無駄な処理を省いていけばエディタとしての本質、不可欠な処理に集中できるし、コードサイズ(メモリフットプリント)が減れば、コードパスが短くなれば、一般に速度の向上が期待できる。頭を悩ませるトレードオフは存在しない。■■■CGraphics クラスのチューニングとしての MyFillRect はやって悪くないのかもしれない。グローバル名前空間に FillRect と併存するものでなく、CGraphics::FillMyRect の実装の工夫としてなら。CGraphics 利用者と実装者の間では関心の分離がなされているし、CGraphics のような間接クラスには利用に当たってオーバーヘッドが最小限となるような非機能要件があるだろうから、速度を追う理由がある。■でもこういう大枠で合意することはできないだろうな。だって未だに「速度は(主たる)理由ではない」って言うんだもんな。たしかに最初から「速度は障害にならない」というような言い方をしてるんだけど、でも、だったら何なのかをさっぱり語らない。「悪くならない」「障害ではない」「再考する」「置き換える」は変更の理由ではない。満足できる理由ではないってんではない。行動を説明する理由や目的としての体をなしてないってんだ。でも筋が通らないままマージされた。これが誤算。無理が通るなら俺は狂って死ぬ。