• Title/Summary/Keyword: 코드 최적화

Search Result 475, Processing Time 0.052 seconds

Design of Bytecode Framework (바이트코드 프레임워크 설계)

  • 김영국;김기태;조선문;이갑래;유원희
    • Proceedings of the Korea Contents Association Conference
    • /
    • 2004.05a
    • /
    • pp.330-334
    • /
    • 2004
  • Java bytecode is stack-base code. Stack-base code makes analysis and optimization hardly because use stack access imperative. Therefore, fragment of code that is problem that occur in stack-base code optimization, loss of type information, unnecessary Load and Store can appear. Optimization and analysis of bytecode design bytecode framework by solution way of problem that is difficult. This paper indicates optimization of bytecode and hangup of analysis, and describe research contents about existent byte code optimization technology. This propose byte code framework by the alternative to simplify analysis and optimization of byte code.

  • PDF

Design of Translator for Efficient Stack Based Codes from 3-Address Codes in CTOC (CTOC에서 3주소 코드를 효율적인 스택 기반 코드로의 변환기 설계)

  • 김영국;김기태;조선문;김웅식;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.766-768
    • /
    • 2004
  • 자바는 객체 지향 언어이고, 분산 환경을 지원하고, 플랫폼에 독립적인 장정을 갖지만 다른 C나 C++같은 컴파일언어에 비해서는 실행속도가 느리다는 단점을 가진다. 이러한 단점을 극복하기 위한 방법으로 네이티브 코드로의 변환, 코드 최적화, JIT 컴파일 방법 등을 이용한다. 그러나 이전 방법들은 다음과 같은 한계점을 가진다. 클래스 파일을 네이티브 코드로의 변환은 플랫폼의 종속되고, 코드 최적화 방법은 고유의 최적화 방법만을 적용할 수 있었고, JIT컴파일 방법은 한 번의 실행 후 다음 실행해야 속도향상을 꾀할 수 있었다. 본 논문은 바이트 코드를 최적화하기 위한 자바최적화 프레임워크를 설명하고 자바최적화 프레임워크의 구성을 하는 부분 중 3주소형식의 중간코드를 스택기반 코드로 변환하는 부분을 설계하고. 3주소 코드로 변환한 중간 코드를 스택 기반 코드로 변환하면서 생기는 과다한 load/store의 문제점을 지적하고 그것을 해결할 수 있는 변환기를 제안한다.

  • PDF

Code Optimization Using DFA (DFA 를 이용한 코드 최적화)

  • Yun, Sung-Lim;Oh, Se-Man
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.05a
    • /
    • pp.525-528
    • /
    • 2005
  • 원시 프로그램에 대한 컴파일 과정 중 최적화 단계에서는 프로그램의 실행 속도를 개선시키고 코드 크기를 줄일 수 있는 다양한 최적화 기법을 수행한다. 특히, 핍홀 ��적화는 비효율적인 명령어의 순서를 구별해 내고 연속되는 명령어의 순서를 의미적으로 동등하면서 좀 더 효율적인 코드로 개선하는 방법이다. 최적화 패턴 매칭 방법 중 스트링 패턴 매칭 방법은 중간 코드에 대응하는 최적의 패턴을 찾기 위한 방법으로 과다한 최적화 패턴 검색 시간으로 비효율적이고, 트리 패턴 매칭은 패턴 결정시 중복 비교가 발생할 수 있으며, 코드의 트리 구성에 많은 비용이 드는 단점을 가지고 있는 방법들이다. 본 논문에서는 기존의 최적화 방법들의 단점을 극복하기 위한 방법으로 DFA(Deterministic Finite Automata)를 이용한 코드 최적화 방법을 제안한다. 이 방법은 다른 패턴 매칭 기법보다 오토마타(Automata)로 구성하기 때문에 비용은 적어지고, 오토마타를 통해 결정적으로 패턴이 확정됨에 따른 패턴 선택 비용이 줄어들며, 최적화 패턴 검색 시간도 빨라지는 효율적인 방법이다.

  • PDF

GVM SAL Code Optimization (GVM SAL 코드 최적화)

  • Kim, Eun-Kyoung;Yun, Sung-Lim;Oh, Se-Man
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.625-628
    • /
    • 2004
  • GVM(General Virtual Machine)은 무선 단말기 상에서 동적인 응용프로그램을 실행할 수 있는 가상 기계(Virtual Machine) 플랫폼이다. 가상 기계를 이용한 응용프로그램의 실행은 플랫폼 독립적인 실행이 가능하며 또한 효과적인 다운로드 솔루션을 통한 동적인 실행이 가능하다. GVM은 SGS 파일을 다운로드 받아 실행되는 시스템이므로, 성능의 저하없이 실행되기 위해서는 효율적인 최적화와 실행 시스템이 요구된다. 본 논문은 SGS 파일이 시스템 리소스의 제한이 큰 무선 단말기 상에서 보다 효율적으로 실행되기 위해서 SAL 코드에 대한 최적화를 수행하였다. SAL 코드 최적화 단계를 수행한 GS 파일은 부분적으로 SGS 파일의 최적화를 가져와 전체 SGS 파일의 크기를 줄이고, 실행될 때 수행 속도 면에서 좀 더 빠른 실행 속도를 가지게 된다. 존재하는 최적화 방법론에 관한 연구를 통하여 SAL 코드의 특성을 고려한 최적화 방법론을 제시하고, 최적화된 SAL 코드를 생성하기 위한 코드 최적화기에 관하여 설계하고 구현하였다.

  • PDF

A Sparse Code Motion Algorithm forlifetime and computational optimization (수명적, 계산적 최적화를 위한 희소코드모션 알고리즘)

  • Sim, Son-Kweon
    • Journal of the Korea Computer Industry Society
    • /
    • v.5 no.9
    • /
    • pp.1079-1088
    • /
    • 2004
  • Generally, the code motion algorithm accomplishes the run-time optimal connected with the computational optimifation and the register overhead This paper proposes a sparse code motion, which considers the code size, in addition to computational optimization and lifetime optimization. The BCM algorithm carries out the optimal code motion computationally and the LCM algorithm reduces the register overhead in a sparse code motion algorithm. A sparse code motion algorithm is optimum algorithm computationally and lifetime because of suppression unnecessary code motion This algorithm improves runtime and efficiency of the program than the previous work through the performance test.

  • PDF

Design of Translator for Stack-Based Code (스택 기반 코드 변환기 설계)

  • Kim, Kyung-Soo;Kim, Ki-Tae;Jo, Sun-Moon;Sim, Hyun-Jin;Yoo, Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.337-340
    • /
    • 2004
  • 자바는 객체 지향언어로 네트워크 기반의 환경에서 응용프로그램을 효율적으로 개발을 위해 설계되었으며 특정 하드웨어나 운영체제에 영향을 받지 않고 동작 할 수 있는 높은 이식성을 가지고 있다. 하지만 자바 언어로 응용프로그램을 개발하면 다른 언어로 작성하는 것 보다 일반적으로 실행이 느리다는 단점이 발생하게 된다. 이를 극복하기 위해 자바 언어에 대한 최적화가 필요하다. 일반적으로 많이 쓰는 최적화 방법으로는 JIT와 같이 실행시간에 필요에 따라 컴파일하여 실행하는 방법과 바이트코드를 수행하고자 하는 특정 프로세서에 적합한 네이티브 코드를 생성하는 방법을 사용하고 있다. 하지만 이러한 방법들은 고유의 최적화 기법과 구현된 프로그램을 이용해서만이 최적화가 가능했고 또한 코드의 추출부터 최적화를 위한 모든 부분까지 구현해야하는 문제점이 있다. 또한 자바 바이트코드는 스택기반의 코드로써 명령어가 많고 표현이 명백하지 않다는 문제점을 가지고 있다. 따라서 분석과 변환이 어렵기 때문에 자바 바이트코드를 스택 기반이 아닌 분석과 최적화가 용이한 3-주소 형태로 변환하여 최적화 기법을 적용해야 한다 본 논문에서는 자바 바이트코드와 3-주소 형태의 중간 코드인 CTOC-B에 대해서 설계한다.

  • PDF

SIL Code Optimizer Using Pattern Matching Technique (패턴 매칭 기법을 이용한 SIL 코드 최적화기)

  • Park, Sung-Hwan;La, Hwang-Gyun;Oh, Se-Man
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.05a
    • /
    • pp.541-544
    • /
    • 2005
  • EVM(Embedded Virtual Machine)은 모바일 디바이스, 디지털 TV 등 임베디드 컴퓨팅 환경에서 동적인 응용프로그램을 실행할 수 있는 가상기계 플랫폼(Virtual Machine Platform)이다. 가상기계를 이용한 응용프로그램은 플랫폼 독립적인 실행 및 효과적인 다운로드 솔루션을 통한 동적인 실행이 가능하다. EVM을 위한 가상기계 코드인 SIL(Standard Intermediate Language)은 언어/기계 독립적으로 설계되었다. 본 논문은 SIL 코드가 시스템 리소스의 제한이 큰 임베디드 시스템상에서 보다 효율적으로 실행되기 위하여 최적화를 수행하였다. 기존의 최적화 방법론에 관한 연구를 통하여 SIL 코드 특성을 고려한 최적화 방법론을 제시하고, 최적화된 코드를 생성하기 위한 코드 최적화기를 설계하고 구현현하였다. SIL 코드 최적화기는 컴파일러에 의해 생성된 SIL 코드를 입력으로 받아 효율적인 코드로 변환하여, 전체 코드의 크기를 줄이고 수행 속도의 개선효과를 얻을 수 있다.

  • PDF

Processing of Code Optimization in CTOC (CTOC에서 코드 최적화 수행)

  • Kim, Ki-Tae;Yoo, Weon-Hee
    • Journal of Korea Multimedia Society
    • /
    • v.10 no.5
    • /
    • pp.687-697
    • /
    • 2007
  • Although the Java bytecode has numerous advantages, there are also shortcomings such as slow execution speed and difficulty in analysis. Therefore, in order for the Java class file to be effectively executed under the execution environment such as the network, it is necessary to convert it into optimized code. We implemented CTOC for transforming to optimized code. In Optimization, SSA Form that distinguish variable by assignment is used to determine value and type statically. Copy propagation, dead code elimination optimization is applied to SSA Form. However, existing SSA Form is related to variable than expression. Therefore, in this paper, to performing optimization to SSA Form expression, after performing copy propagation and dead code elimination, in addition to that, partial redundant expression elimination is performed

  • PDF

Automatic Generation of Code Optimizer for DFA Pattern Matching (DFA 패턴 매칭을 위한 코드 최적화기의 자동적 생성)

  • Yun, Sung-Lim;Oh, Se-Man
    • The KIPS Transactions:PartA
    • /
    • v.14A no.1 s.105
    • /
    • pp.31-38
    • /
    • 2007
  • Code Optimization is converting to a code that is equivalent to given program but more efficient, and this process is processed in Code Optimizer. This paper designed and processed Code Optimizer Generator that automatically generates Code Optimizer. In other words Code Optimizer is automatically generated for DFA Pattern Matching which finds the optimal code for the incoming pattern description. DFA Pattern Matching removes redundancy comparisons that occur when patterns are sought for through normalization process and improves simplification and structure of pattern shapes for low cost. Automatic generation of Code Optimization for DFA Pattern Matching eliminates extra effort to generate Code Optimizer every time the code undergoes various transformations, and enables formalism of Code Optimization. Also, the advantage of making DFA for optimization is that it is faster and saves cost of Code Optimizer Generator.

Pattern Matching Optimizer for Virtual Machine Codes (가상 기계 코드를 위한 패턴 매칭 최적화기)

  • Yi Chang-Hwan;Oh Se-Man
    • Journal of Korea Multimedia Society
    • /
    • v.9 no.9
    • /
    • pp.1247-1256
    • /
    • 2006
  • VM(Virtual Machine) can be considered as a software processor which interprets the abstract machine code. Also, it is considered as a conceptional computer that consists of logical system configuration. But, the execution speed of VM system is much slower than that of a real processor system. So, it is very important to optimize the code for virtual machine to enhance the execution time. In this paper, we designed and implemented the optimizer for the virtual(or abstract) machine code(VMC) which is actually SIL(Standard Intermediate Language) that is an intermediate code of EVM(Embedded Virtual Machine). The optimizer uses the pattern matching optimization techniques reflecting the characteristics of the VMC as well as adopting the existing optimization methodology. Also, we tried a benchmark test for the VMC optimizer and obtained reasonable results.

  • PDF