스크립트 언어를 C/C++로 작성한 프로그램과 연동하여 사용할 수 있는 방법들을 보면서 (
파이썬과 C/C++언어와 연동) 파이썬과 같은 새로운 스크립트를 배우는 것 보다 (물론, 파이썬은 배워두는 것인 인생에 도움이 되는 스크립트 언어임에 분명하긴 하지만..) 이미 기존에 알고 있는 자바스크립트를 이렇게 사용할 수 있으면 얼마나 좋을까 하는 생각이 들었었다..
분명히 있을 것 같았는데 아는게 없어 못 찾고 있었는데
codian님의 글을 통해서
SpiderMonkey 라는 자바스크립트 엔진을 알게되었다.. 냉큼 다운로드 받아 점검을 해보니, 오호라.. 이거 딱이다.. 바로 내가 찾던 것이다.. 이 엔진 덕분에 자바스크립트를 호스트 하는 프로그램 및 자바스크립트와 연동하여 돌아가는 프로그램을 쉽게 만들 수 있을 것 같다..
빌드는 생각보다 쉽게 되었다.. VC++ 6를 사용하여 바로 빌드가 된다.. 빌드가 된 김에 codian님이 했던 테스트를 해봤다.. 루비와 비교를 해봤는데 2배까지 차이가 나지는 않았다.. 몇초 차이로 여전히 루비가 빨랐다.. 자바기반의 자바스크립트 엔진인 rhino가 C로 만들어진 엔진보다 훨씬 느린가보다.. 이렇게 차이가 날 것 같지는 않았는데.. 관심있는 사람은 codian님이 소개한 페이지에 샘플 소스들이 많이 있으니 함 직접 해보면 되겠다..
Ruby, Io, PHP, Python, Lua, Java, Haskell, and Plain C Fractal Benchmark하는 김에 codian님이 사용하셨다는 rihno라 불리우는 자바 기반의 자바스크립트 엔진을 가지도고 테스트를 해보려고 했는데, 자바에 대한 내 지식이 짧아 빌드를 하지 못하는 바람에 자바 및 C로 만들어진 두 자바스크립트 엔진간의 비교를 해보지는 못했다..
Dependency Walker를 사용하여 의존성이 걸린 DLL들이 무엇인가 살펴보면 역시 깔끔하게 의존성이 거의 없다.. 흐흐흐.. 이런 DLL 넘 맘에 든다.. 얼마나 깔끔한가..
소스코드에 같이 포함되어 있는 쉘 프로그램을 빌드해서 돌려보면 엔진을 사용하는 테스트 프로그램 용도로 활용할 수 있다.. 역시 소스코드에 같이 들어있는 샘플 자바스크립트를 돌려봤다.. 아주 빠르게 잘 돌아가는 모습을 확인해볼 수 있을 것이다..
정말 오픈소스 커뮤니티는 인류사회에 대단한 공헌을 하고 있다.. 멋져~
참고 : 이 엔진을 활용한 좋은 사용기가 있으니 읽어보면 도움이 되겠음.. (
SpiderMonkey 를 이용한 개발 일기)
참고 : 어도비
플래쉬 액션스크립트도 오픈소스가 되었으며, SpiderMonkey와의 통합을 위해 노력중이라고 한다.. 액션 스크립트가 자바스크립트 표준과 호환된다는 사실은 첨 알았다..
이 글과 관련있는 글을 자동검색한 결과입니다 [?]