컴파일러 및 해석기 간 선택
XQuery 표현식, XPath 표현식 또는 XSLT 스타일시트의 준비 및 실행을 위해 컴파일러와 해석기를 사용할 수 있습니다. 둘 중 사용할 항목의 선택은 애플리케이션에 따라 달라지며, 여러 요인에 종속됩니다.
이 태스크 정보
이 문서는 애플리케이션 런타임 중 표현식, 조회 또는 스타일시트를 준비할 때 컴파일러 및 해석기 사이에서 선택하는 방법을 다룹니다.
또한 표현식, 조회, 스타일시트는 미리 준비할 수 있습니다(사전 컴파일됨). 애플리케이션 런타임 중이 아니라 미리 준비를 수행하지만 사전 컴파일이 모든 애플리케이션에 적용되지는 않을 수도 있기 때문에 가장 효율적인 옵션입니다. 자세한 정보는 사전 컴파일과 관련된 문서를 참조하십시오.
프로시저
XStaticContext에서 setUseCompiler(true) 메소드를 사용하여
컴파일러를 사용하고 setUseCompiler(false) 메소드를 사용하여 해석기를 사용하십시오.
기본값은 XQuery 표현식, XPath 표현식 또는 XSLT 스타일시트를 준비할 때 해석기를 사용하는 것입니다.
해석된 실행 파일보다 컴파일된 실행 파일을 준비하는 데 더 오래 걸리지만,
컴파일된 실행 파일은 일반적으로 더 빨리 실행됩니다. 따라서
컴파일된 실행 파일 준비 비용과 향상된 실행 시간 효율 사이에는 상쇄 효과가 있습니다.
요인 | 설명 |
---|---|
처리에 실행 파일을 사용하는 입력 문서 수 | 소수의 입력 문서를 처리하는 데만 실행 파일을 사용할 경우 컴파일된 실행 파일을 작성하는 데 필요한 추가 시간은 효율적이지 않을 수도 있습니다. 실행 파일의 향상된 효율성으로도 추가 준비 시간을 보완하지 못할 수 있기 때문입니다. 많은 입력 문서를 처리하는 데 실행 파일을 사용할 경우 추가 준비 시간은 효율적일 수 있습니다. |
입력 문서의 크기 | 더 큰 입력 문서는 처리가 오래 걸립니다. 따라서 더 큰 문서를 처리하기 위해 보다 효율적인 실행 파일 오브젝트를 가져오도록 컴파일된 실행 파일을 작성하는 추가 준비 시간이 효율적일 수도 있습니다. |
표현식, 조회 또는 스타일시트의 크기 | 더 큰 표현식, 조회 또는 스타일시트를 준비하는 데 오래 걸립니다. 따라서 이는 준비 시간과 실행 시간의 상쇄 효과에 영향을 줍니다. |
예
// Create a new XFactory
XFactory factory = XFactory.newInstance();
// Create a new XStaticContext
XStaticContext staticContext = factory.newStaticContext();
//Use the compiler
sc.setUseCompiler(true);
//Use the interpreter
sc.setUseCompiler(false);