2012-01-23 1 views
0

xml을 입력으로 사용하고 다른 xml을 출력으로 사용하는 경우가 있습니다. XSL을 사용하고 JAXB를 통해 언 마샬링 마샬링을 선택할 수 있습니다. 성능이 현명합니까, 실제 차이가 있습니까?변환 성능 XML> XML 대 XML> JAXB> XML

+0

중요한 결정은 XSL 스타일 시트를 '템플릿'으로 컴파일하고 캐시 할 수 있는지 여부입니다. 또 다른 질문은 XSLT 인터프리터 (예 : Xalan) 또는 컴파일러 (예 : XSLTC)를 사용하는지 여부입니다. 매번 XSL 스타일 시트를 구문 분석해야한다면 훨씬 더 많은 시간이 필요합니다. XSLT 컴파일러를 사용하여 결과를 캐싱 할 수 있다면 XSLT를 사용할 수 있습니다. 그러나 여기에는 통계가 없습니다. – flyx

답변

3

첫째, 프로그래머 성능은 일반적으로 기계 성능보다 훨씬 중요합니다. 좋은 서버는 하루에 프로그래머를 고용하는 것보다 비용이 적게 든다. 그래서 당신은 올바른 질문을하고 있습니까?

두 번째로 변환이 단순하면 두 경우 모두 구문 분석 및 직렬화 비용에 의해 비용이 좌우되므로 두 경우에서 차이가 날 필요가 없습니다. 변형이 더 복잡한 경우 코드의 작성자의 기술에 따라 성능이 달라 지므로 다시 프로그래밍 문제로 돌아옵니다.

JAXB 사용과 XSLT 사용의 실제 차이점은 XSLT 솔루션이 코드 줄 수가 적고 스키마 변경에 덜 민감하다는 것입니다.

+0

그래, 같은 프로그래머라면이 둘의 차이는 크지 않겠지? – redben

+0

@redben : 프로그래머가 한 명 (XSLT를 모르거나 선호하지 않음) 인 경우 질문에 의미가 없습니다. XSLT는 특히 XML 변환을 위해 고안된 언어이므로이 태스크를 사용하면 다른 언어를 사용할 때보 다 확실한 이점이 있습니다. 즉, * 다른 모든 조건은 * 작업에 대해 XSLT를 선호하는 것이 합리적입니다. 성능 측면에서 볼 때 Jon Bentley는 프로그래밍 언어 선택보다는 사용 된 알고리즘에 훨씬 더 많이 의존한다는 것을 보여주었습니다. Donald Knut의 말을 인용하면 "조기 최적화는 모든 악의 뿌리입니다 *" –