{開発}{開発記録}{一段落}{}{知番}{デライト}{希哲16年6月30日}{希哲16年6月18日}{壊衝}{OFFSET}(211)

{希哲16年6月30日の開発 K#F85E/E74C-A106}

デライト高速化における KNEST 隠し実装一段落した。18日作業方針検討のみで20日から,休日除いてちょうど10日間での達成だった。出振るい済み

全体としては大成功だった。

必要以上に固め過ぎるのも良くないため,隠し化現時点最低限必要範囲留めたが,期待以上安定性期待通り高速化得られた次の施策出来たので,まだまだ高速化出来るKNEST 隠しDex匹敵するデライト武器になるだろう。

交度整理しっかり進めたこともあり最初の輪数取得改良想定以上に長引いたものの,ここで KNEST 隠し共通の問題ほとんど解決したため,自我隠し輪郭隠し半日ほどで終わった。この交度整理収穫として大きかった輪郭操作系の kn の外充て函数整備したことで関連交度一気に整理された

影響範囲確率的に大きな問題はないだろうと見て排他制御甘い部分あえて残して出振るい急いだが,出振るい直後壊衝多発して少し焦ったすぐに論軸的問題気付修正し,その後むしろ想定以上に安定して動いている。この判断結果として正解だった。

輪数取得改良

輪数隠しに関しては,第二次知番改良中に固まった輪数取得改良」として,輪数取得仕組み全体的に改良した

これまでデルンではいちいち厳密な輪数表示をしていたが,これが大きな低速化要因になっていた。デライト以前まで,count()遅さ対する認識が甘かったデライト以後そもそも出場における件数計算原理的に遅いもの,と気付いてページ付けOFFSET上限設けるなどの対策はしていた希哲13年10月14日の開発記録が,輪数一筋縄ではいかない部分があり放置してきた

厳密な同期必要性隠し効率から,次のように整理することにした。

読み込み中...
{進捗記録}{進捗}{デライト}{出振るい}{GDB}{希哲15年7月8日の開発}{認識が甘かった}{大域変数の初期化順序}{コメントアウト記法}{大域変数}(43)

{希哲15年7月8日12歩 K#F85E/E74C-584F}

進捗時限記録中略)

デラング整備不具合修正

ようやく原因判明修正途中だったコメントアウト記法出振るいして終了。

C++ における大域変数の初期化順序問題で,環境依存だった理由も分かった。初歩的なことだが,そもそも大域変数多用するような実装をしてこなかったのでこれまで直面せず,認識が甘かった

ふだんほぼ使わない GDB まで持ち出してあれこれ試行錯誤したが,その過程文字列正規表現周りに最適化余地も多く見つかり,結果的には良かった類型化正規表現のためにもどうしても解決しておきたかった。

本番環境とほぼ同じ環境で,空いている捌き手利用してデバッグ環境を整えたので,稼働中デライト影響は無かった。この経験は今後に活かせそうだ。

{認識が甘かった}

{}