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