Я искал объектный форматировщик и шаблонер.
http://haacked.com/archive/2009/01/14/named-formats-redux.aspx
Я заглянул в HenriFormatter и, когда проверил производительность, обнаружил, что для одного и того же объекта первый вызов типа - вызывает в 15 раз больше времени, чем для следующего - 15 000 тактов, второй - около 1 000. Я стал digg, и обнаружил, что он использует DataBinder.Eval, который использует отражение, и на некотором уровне выглядит, как структура типа кэширует.
По сравнению с тем же форматом String.Forum, который составлял около 50-100 тиков.
Так что мне интересно, что если вместо использования DataBinder.Eval, мы можем испустить код Ering String.Format и кешировать его, и получить 8-кратную производительность. Но прежде чем делать все это, мне было интересно, если что-нибудь уже было сделано.