데이터 집합에서 일부 XML 파일을 생성하기 위해 StringTemplate을 사용하고 있습니다. 때로는 템플릿의 루프에 의해 열거되는 데이터 세트에 100,000 개가 넘는 레코드가 있습니다. 성능이 저에게 좋지 않으므로 매우 느립니다 (작업 당 15-20 초).StringTemplate 성능이 좋지 않음
using (var sw = new StringWriter())
{
st.Write(new StringTemplateWriter(sw));
return sw.ToString();
}
StringTemplateWriter 들여 쓰기없이 IStringTemplateWriter에서 파생 된 간단한 작가 - 클래스 :
이
내가 보고서를 렌더링하는 ST를 사용하는 방법 예입니다. 깊은에는 "유형 'antlr.NoViableAltException'의 첫 번째 예외가 StringTemplate.DLL에서 발생했습니다"
: 나는 그런 이상한 메시지를 많이 볼 수있는 디버그 화면에서 그런데
, 디버그 나는 그것을 재귀 적으로 내 템플릿을 구문 분석하고 무언가가 (정확히 무엇을 모르겠다) NoViableAltException 예외가 너무 많은 시도를 사용하여 문제가 추측 표면의 깊은 스택에서 반환하려면 throw합니다 발견했습니다. - 캐치 던지기.
Google은 이것에 아무런 유용한 것을 발견하지 못했습니다.
홈페이지 질문 : (ST의 코드를 재 작성 제외) 예외의 수를 감소 및 템플릿 렌더링의 성능을 개선하기 위해?
. 내 템플릿은 초기화 도중 오류를주지 않으므로 제대로 작동하지만 어쩌면 올바른 것일 수 있습니다. 템플릿의 사소한 오류가 있습니다. 많은 템플릿이 있기 때문에 이유를 찾기가 어렵습니다. – Genius