我正在使用StringTemplate从数据集生成一些xml文件。有时,我在模板中循环枚举的数据集中有超过100,000条记录。它非常慢(每次手术15-20秒),所以对我来说表现并不好。StringTemplate性能不佳
这是一个例子,我如何使用ST渲染报告:
using (var sw = new StringWriter())
{
st.Write(new StringTemplateWriter(sw));
return sw.ToString();
}
StringTemplateWriter是IStringTemplateWriter衍生无压痕简单的作家级。
顺便说一句,在调试屏幕中我看到了很多这样奇怪的消息:在深
“类型‘antlr.NoViableAltException’的第一次机会异常出现在StringTemplate.DLL”
的调试我发现它递归地解析我的模板,如果失败了(不知道到底是什么),它会抛出NoViableAltException异常,从深层堆栈返回到表面,所以我猜测问题在于使用了太多的尝试-catch掷的。
谷歌发现没有用。
主要问题:如何减少这个数量的异常(除了重写ST代码)并提高模板渲染的性能?
谢谢。我的模板在初始化期间不会给出任何错误(所以它们可以正常工作),但可能您是对的 - 问题在于模板中的一些小错误。因为有很多模板,所以很难找到原因。 – Genius 2010-06-03 12:29:01