
Haiku x86_64에서 자바 프로그램을 실행하는 BeKaffe가 두 번째 가상 머신인 JamVM을 지원한다. 같은 GNU Classpath 빌드와 Haiku 연동 계층을 사용한 비교에서 CPU 벤치마크는 Kaffe보다 17배, 스레드 스트레스 테스트는 36배, 그리기 벤치마크는 20배 빨랐다.
JamVM은 GNU Classpath용 소형 가상 머신으로, ingelabs가 계속 관리하고 있다. BeKaffe 측은 Haiku 포트를 JamVM 프로젝트에 제안했으며, 테스트 중 발견한 보안 문제 수정도 함께 제안했다. 프로그램이 자체 java.lang 클래스를 정의할 수 있었던 문제다. Kaffe 저장소는 보관 처리됐지만, 당분간 Kaffe가 기본 가상 머신으로 유지된다.
BeKaffe는 앞서 Kaffe의 느린 인터프리터에서 발생하는 그리기 지연을 줄이기 위해 GNU Classpath의 도형·이미지 그리기를 자바에서 C++ 네이티브 코드로 옮겼다. 대부분의 작업이 10~600배 빨라졌으며, 회전 이미지 그리기는 3초에서 0.2밀리초로 줄었다. 해당 변경은 Haiku 툴킷 풀 리퀘스트로 GNU Classpath에도 제안됐다.
BeKaffe는 Haiku의 네이티브 창·메뉴와 파일 대화상자, 클립보드, 드래그 앤 드롭, 인쇄, 사운드, 입력기 등을 자바 AWT 프로그램에서 사용할 수 있도록 작업해 왔다. 자바 텍스트 렌더링에도 Haiku의 글꼴 엔진을 적용했다. 전체 소스와 빌드 방법은 BeKaffe 저장소에서 확인할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요