2010-05-26 3 views
4

나는 진정한 XSLT 프로세서를 erlang과 함께 사용하고 싶습니다. 어떤 인터페이스, nif 또는 포트 드라이버가 가장 좋을까요? nif 문서에 따르면 nif 호출은 런타임을 차단하므로 오래 걸리지 않아야합니다. 긴 XML 문서를 너무 오래 처리하고 있습니까?Erlang : Xalan과 인터페이스 : 포트 드라이버 또는 nif?

또한 변형 중에 erlang 콜백을 허용하고 싶습니다. 그게 가능해 보입니까? 포트 드라이버가 아닌 nif에서 가능하거나 그 반대의 경우도 가능합니까?

나는 C를 작성한 적이 없으므로 좋은 소개가 될 것이라고 생각했습니다. Xalan은 C++입니다. nif가 그걸로 일할 수 있다고 가정 하겠지?

답변

5

포트 드라이버를 구축하는 것이 좋습니다.

NIF 기능은 언어에 새로운 기본 제공 함수를 추가하고 순수 Erlang에서 구현하기에는 속도가 느릴 수있는 방법입니다. NIF는 실험용으로 간주되므로 향후 릴리스에서는 인터페이스가 으로 변경 될 수 있습니다.

포트 드라이버를 작성하는 것은 프로세스처럼 전체적으로 작동하는 C (또는 C++) 공유 라이브러리를 구현하는 것을 의미합니다. 문서 변환 (콜백 등) 중에 다른 프로세스와 통신 할 수 있으므로 유연성이 향상됩니다.

드라이버가 아니어도됩니다. 포트 프로그램과 다른 Erlang 코드 사이에 데이터를 많이 전달하지 않으면 대신 간단하게 포트를 작성하는 것이 좋습니다 (더 쉽습니다).

+0

나는 평범한 포트가 아마 C와의 나의 미숙을 생각하면 아마도 가장 좋은 아이디어라고 생각한다. 전혀 작동하지 않는 것이 나의 첫번째 관심사이다. – mwt

+0

erl_interface 사용자 가이드로 시작하는 것이 좋습니다. –

관련 문제