Each level of fmtster formatting re-parses the format string. I will admit to not being an expert on whether the constexpr design of fmt::formatter<>::parse() causes much of this to be done at compile time, but I think it's possible that this will be less likely when Add Recursive Brace Support is done, so that formatting can more easily be done at run time. A method of passing the pre-parsed data (currently things like FmtsterBase::mStyleSetting, FmtsterBase::mTab, etc.) to avoid reparsing, if the values didn't change, would be helpful.