Á¤º¸°úÇÐȸ ³í¹®Áö B : ¼ÒÇÁÆ®¿þ¾î ¹× ÀÀ¿ë
ÇѱÛÁ¦¸ñ(Korean Title) |
¹ÙÀÌÆ®ÄÚµå ÃÖÀûȱâ |
¿µ¹®Á¦¸ñ(English Title) |
The Bytecode Optimizer |
ÀúÀÚ(Author) |
À̾߸®
È«°æÇ¥
¿À¼¼¸¸
|
¿ø¹®¼ö·Ïó(Citation) |
VOL 30 NO. 01 PP. 0073 ~ 0080 (2003. 02) |
Çѱ۳»¿ë (Korean Abstract) |
ÀÚ¹Ù¾ð¾î´Â ÀÎÅÍ³Ý ¹× ºÐ»ê ȯ°æ ½Ã½ºÅÛ¿¡¼ È¿°úÀûÀ¸·Î ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÈ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î½á °´Ã¼ÁöÇâ Áö¿øÇÏ°í Ư¼º ¹× ´Ù¾çÇÑ °³¹ß ȯ°æÀ» Áö¿øÇÏ°í ÀÖ´Ù. ±×·¯³ª, Àڹٴ Ŭ·¡½º ÆÄÀÏÀÌ À̵¿ÇÏ¿© JVM ȯ°æ¿¡¼ ÀÎÅÍÇÁ¸®Æà µÇ´Â ½Ã½ºÅÛÀ̹ǷÎ, ¼º´ÉÀÇ ÀúÇÏ ¾øÀÌ ½ÇÇàµÇ±â À§Çؼ´Â È¿À²ÀûÀÎ ÃÖÀûÈ¿Í ½ÇÇà ½Ã½ºÅÛÀÌ ¿ä±¸µÈ´Ù. º» ³í¹®Àº ³×Æ®¿öÅ© »ó¿¡¼ µ¿ÀûÀ¸·Î ´Ù¿î·Îµå µÇ´Â Ŭ·¡½º ÆÄÀÏÀ» ¹ÙÀÌÆ®ÄÚµå ¼öÁØ¿¡¼ ÃÖÀûÈ ÇÏ¿´´Ù. ÃÖÀûÈµÈ ¹ÙÀÌÆ®ÄÚµåµéÀÌ ÀÎÅÍÇÁ¸®Æà µÇ´Â ½Ã½ºÅÛ¿¡¼ ÀûÀº ³×Æ®¿öÅ© ·Îµå¸¦ °¡Áö°í ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï Çϸç, È¿À²ÀûÀÎ ½ÇÇà ¼Óµµ¸¦ º¸À̵µ·Ï ÇÏ´Â °ÍÀÌ´Ù.
º» ³í¹®¿¡¼ ±¸ÇöµÈ ¹ÙÀÌÆ®ÄÚµå ÃÖÀûȱ⿡¼´Â ³»ºÎÀûÀ¸·Î ¹ÙÀÌÆ®ÄÚµå ÃÖÀûȱâ¿Í Ŭ·¡½º ÆÄÀÏ »ý¼º±â¸¦ ÀÌ¿ëÇÏ¿© ½ÇÇà½Ã°£À» °³¼±ÇÏ°í Àüü Ŭ·¡½º ÆÄÀÏÀÇ Å©±â¸¦ ÁÙÀÌ°Ô µÈ´Ù. ¹ÙÀÌÆ®ÄÚµå ÃÖÀûȱâ´Â ¹ÙÀÌÆ®Äڵ带 Ŭ·¡½º»çÀÌÀÇ °èÃþ ºÐ¼®°ú Á¦¾î È帧ÀÇ ºÐ¼®À» ÅëÇÏ¿© Ŭ·¡½ºµé°£ÀÇ ¿¬°ü °ü°è¸¦ ºÐ¼®ÇÑ ÈÄ ±×·¡ÇÁ¸¦ ±¸¼ºÇÏ°í, ÆÐÅÏ Å½»ö °á°ú ±âº» ºí·Ï ºÐ¸®¸¦ ÅëÇÏ¿© Àü¿ª ÃÖÀûȸ¦ ÀÌ·ç°í, ±âº» ºí·Ï ¾È¿¡¼ÀÇ ¿¬»ê°µµ °æ°¨, ±×¸®°í µµ´ÞÇÒ ¼ö ¾ø´Â ÄÚµå ºí·ÏÀÇ Á¦°Å¸¦ ¼öÇàÇÑ´Ù. ¹ÙÀÌÆ®ÄÚµå ÃÖÀûÈ ´Ü°è¸¦ ¼öÇàÇÑ Å¬·¡½º ÆÄÀÏÀº ºÎºÐÀûÀ¸·Î Ŭ·¡½º ÆÄÀÏÀÇ ÃÖÀûȸ¦ °¡Á®¿Í Àüü Ŭ·¡½º ÆÄÀÏÀÇ Å©±â¸¦ ÁÙÀÌ°í, ÀÎÅÍÇÁ¸®Å͸¦ ÅëÇÏ¿© ½ÇÇàµÉ ¶§ ¼öÇà ¼Óµµ ¸é¿¡¼ Á»´õ ºü¸¥ ½ÇÇà¼Óµµ¸¦ °¡Áö°Ô µÈ´Ù. |
¿µ¹®³»¿ë (English Abstract) |
The Java programming language is designed for developing effective applications in a heterogeneous network environment. Major problem in Java is its performance. Many attractive features of Java make the development of software easy, but also make it expensive to support; applications written in Java are often much slower than their counterparts written in C or C . To use Java´s attractive features without the performance penalty, sophisticated optimizations and runtime systems are required. Optimizing Java bytecode is a widespread topic of many ongoing researches. Developing an optimizer for the Java bytecode has several advantages. First, the bytecode is independent of any compiler that is used to generate it. Second, the bytecode optimization can be performed as a pre-pass to Just-In-Time(JIT) compilation. Many attractive features of Java make the development of software easy, but also make it expensive to support.
The goal of this work is to develop automatic construction of code optimizer for Java bytecode.
We've designed and implemented a Bytecode Optimizer that performs the peephole optimization, bytecode-specific optimization, and method-inlining techniques. Using the Classfile optimizer, we see up to 9% improvement in speed and about 20% size reduction in java class files, when compared to average code using the interpreter alone. |
Å°¿öµå(Keyword) |
ÇÁ·Î±×·¡¹Ö ¾ð¾î
̅˞鱉
¹ÙÀÌÆ®ÄÚµå
Ŭ·¡½º ÆÄÀÏ
ÆÐÅϸÅĪ ÃÖÀûÈ
Optimizer
Bytecode
Class File
Pattern-Matching Optimization
|
ÆÄÀÏ÷ºÎ |
PDF ´Ù¿î·Îµå
|