ものがたり(旧)

atsushieno.hatenablog.com に続く

opti NumberFormatter

…とか言いながらNumberFormatterのパフォーマンスが800KBほどよろしくないので、最適化を考えてみる。とりあえず新しいコードで呼ばれているInt32.FindSign()がイケてなかったので修正して100KBダイエット。一番でかいのはStringBuilder.Insert()かなあ。これはパフォーマンス悪いんだよねぇ…。StringBuilder.SubString()も可能な限り回避できると吉。あと考えているのが、NumberStoreをstructに出来ないかなぁということ。派生クラスのXXXStoreは追加フィールドもoverrideも無いみたいだし、派生クラスでどうこうするより、CreateInstanceでちょこちょこいじるだけで足りそうな気もします*1

コアなクラスのパフォーマンスはけっこう厳しく問われる部分なので、可能な限り改善したいです。

…と思ったけどBenにやらせたいところだなあ(w

*1:まあ、これmono --profileじゃ反映されないんですけどね