Efficient Access and Performance Improvement of Multi-Dimensional Array in Java Virtual Machine

자바가상머신에서 다차원 배열의 효율적인 접근과 성능 개선

  • 이지현 (충남대 컴퓨터과학과) ;
  • 원희선 (한국전자통신연구원 정보가전연구부) ;
  • 문경덕 (한국전자통신연구원 정보가전연구부) ;
  • 김영국 (충남대 컴퓨터과학과)
  • Published : 2003.05.16

Abstract

자바는 플랫폼에 독립적인 실행을 위해서 바이트코드를 사용하며, 자바가상머신에서 바이트코드를 해석하여 실행시키는 인터프리터 방식을 취하고 있으므로 느린 실행 시간을 갖는다. 이와 같은 느린 실행 시간에 영향을 주는 요인 중의 하나로써 다차원 배열(Multi-dimension Array)에 접근(Acess)할 때 비효율적인 방법으로 실행되는 것을 개선할 필요가 있다. 자바가상머신에서 오브젝트와 배열은 레퍼런스에 의해서 접근되어지고, 특히 다차원 배열은 배열 안에 또 다른 배열이 들어있는 자료구조를 취하기 때문에 다차원 배열의 크기가 커질수록 하나의 원소에 접근할 때 발생되는 레퍼런스(Reference)의 횟수가 많아질수록 성능 저하를 유발한다. 본 논문에서는 다차원 배열에 효율적으로 접근하기 위한 새로운 배열의 자료 구조를 제시하고, 다차원 배열에 접근하는 여러 개의 바이트코드 대신 이런 자료구조에 접근할 수 있는 새로운 바이트코드를 정의 및 구현하였다. 그리고 이를 실제 클래스파일에 적용하고, 간단한 성능 평가를 통해서 성능 개선 효과를 확인할 수 있다.

Keywords