Java Class File Optimization

자바 클래스 파일 최적화

  • 홍경표 (동국대학교 컴퓨터공학과) ;
  • 이야리 (동국대학교 컴퓨터공학과) ;
  • 오세만 (동국대학교 컴퓨터공학과)
  • Published : 2001.04.01

Abstract

자바언어는 이질적인 네트워크 환경에서 프로그램 개발이 적합하도록 설계된 언어이다. 자바언어의 특징은 소프트웨어를 쉽게 개발하는데 유용한 것은 사실이지만, 성능상 제약이 따르게 된다. 즉 자바는 클래스 파일이 이동하여 JVM 환경에서 인터프리팅 되는 시스템이므로, 클래스 파일이 이동하며 실행되는 동안의 성능의 저하 없이 자바의 특징을 이용하려면 복잡한 최적화와 실행 시스템이 요구된다. 본 논문은 네트워크 상에서 동적으로 다운로드 되는 클래스 파일의 최적화에 있다. 클래스 파일이 인터프리팅 되는 시스템이 보다 적은 네트워크 로드를 가지고 실행할 수 있도록 하며, 효율적인 실행 속도를 보이도록 하는 것이다. 여기서는 Class Field Optimizer는 내부적으로 Bytecode Optimizer와 ClassGen을 이용하여 실행시간을 개선하고 전체 클래스 파일의 크기를 줄이게 된다. Bytecode Optimizer는 peephole 최적화를 수행하고, bytecode 의존적 최적화, 그리고 전역최적화를 행하게 된다. ClassGen은 클래스 파일의 포맷에 따라 bytecode를 분석하고 본래의 클래스 파일보다 작은 크기의 클래스 파일을 생성하게 된다. 최적화된 클래스 파일은 부분적으로 클래스 파일의 최적화를 가져와 전체 클래스 파일의 크기를 줄이고, 인터프리터를 통하여 실행될 때 수행 속도면에서 좀더 빠른 실행 속도를 가지게 된다.

Keywords