2022-01-06: 新宿は豪雪
やったこと
ReDoS
AgentCommand
のテストが再び不安定になっていたので直した.
recheck-jar
の実装で ping
コマンドを追加したときにテストも更新したのだけど,待機するレスポンス数を更新し忘れたらしい.
この手のバグは忘れないうちに直すに限る.
https://github.com/MakeNowJust-Labo/recheck/pull/254
StaticSeeder
での先読み後読みの単純化の際に,今までは単純に中身と空文字列で展開していたのを,前後が繰り返しになっている場合は空文字列を入れないようにした.
こうすることで,末尾に先読みが来る場合でも上手くシード生成できる.
https://github.com/MakeNowJust-Labo/recheck/pull/255
そして,i
フラグが付いている場合にやたら遅いことに気付いたので,久し振りに async-profiler
を持ってきて,プロファイルを取った.
すると,どうも Interval#partition
が重いっぽいということが分かったのだけど,これを高速化するのはちょっと面倒そうなので,IChar.canonicalize
の結果をキャッシュしたり,EpsNFA
の構築時に ICharSet#refine
の結果をキャッシュしたり,alphabet
の計算時に無駄な partition
を減らすために計算前に toSet
を入れるようにしたりした.
その結果ちょっと早くなったので満足.やはりプロファイルは正義.
https://github.com/MakeNowJust-Labo/recheck/pull/258
ミリシタ
地道にやってたら12万ptを越えていた.
この形式ほんとにポイント伸びるのが早い.
雪
新宿は豪雪.
まさかこんなに降るとは、という感じ.
寒い.