IBM Korea Skip to main content
       IBM Ȩ    |  Á¦Ç° & ¼­ºñ½º  |  °í°´Áö¿ø & ´Ù¿î·Îµå  |  È¸¿ø°¡ÀÔ  

ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏÀÇ ¹«°Ô Àç±â
¸ñ Â÷:
ÄÚµå ÄÄÆÄÀÏÀÇ ±âÃÊ
Å×½ºÆ® ¼³Á¤¿¡ °üÇØ
Å×½ºÆ® 1: Prime.java
Å×½ºÆ® 2: SciMark 2
Àå´ÜÁ¡
°á·Ð
Âü°í ÀÚ·á
ÇÊÀÚ ¼Ò°³
±â»ç¿¡ ´ëÇÑ Æò°¡
°ü·Ã dW ¸µÅ©:
COM°úÀÇ Â÷ÀÌ ¸Þ²Ù±â
ÅëÇÕµÈ ÀÚ¹Ù¿Í C/C++ ÄÚµå µð¹ö±ëÇϱâ
US ¿ø¹® Àбâ
ÀÚ¹Ù ¼Ò½º¿¡¼­ ¿ø½Ã Äڵ带 »ý¼ºÇÒ ¶§ÀÇ Àå´ÜÁ¡


Martyn Honeyford
¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î, IBM UK Labs
2002³â 1¿ù

ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏÀÌ Ã³À½ ¼Ò°³µÇ¾úÀ» ¶§ ÀÚ¹Ù Ç÷§ÆûÀÇ ´ëÇ×Çϱ⠾î·Á¿î Ç÷§Æû µ¶¸³¼ºÀ» °í·ÁÇÏ´õ¶óµµ ºÐ¸íÈ÷ JVMÀ» ¾Õ¼³ °Íó·³ º¸¿´´Ù. ±×·¯³ª ÀαⰡ ³ô¾ÆÁö°í Á¡Á¡ ´õ ¸¹Àº ¼öÀÇ ¿ø½Ã ÄÄÆÄÀÏ·¯°¡ ½ÃÀå¿¡ ³ª¿À°í ÀÖÁö¸¸, ¿ø½Ã ÄÄÆÄÀÏÀÌ ÀÚ¹Ù ÄÚµåÀÇ À̽ļº¿¡ ½ÇÁúÀûÀÎ À§ÇùÀ» °¡ÇÏ·Á¸é °¥ ±æÀÌ ¸Ö´Ù. ±×¸®°í ºÒÇàÈ÷µµ ÇöÀç ¿ì¸® Áß ¸¹Àº »ç¶÷ÀÌ °í±ººÐÅõÇÏ°í ÀÖ´Â ÀÚ¹Ù ¼º´É ¹®Á¦¸¦ ÇØ°áÇÒ¸¸Å­ ±â¼úÀÌ ¼º¼÷ÇÏ·Á¸é ¶Ç ¾î´À Á¤µµÀÇ ½Ã°£ÀÌ °É¸± °ÍÀÌ´Ù.

¸¹Àº ¸é¿¡¼­ ³ôÀº Á¡¼ö¸¦ ¹ÞÀ½¿¡µµ ºÒ±¸ÇÏ°í ÀÚ¹Ù ¾ð¾î¸¦ ÁÖ¿ä ÇÁ·ÎÁ§Æ®¿¡¼­ Á¦¿ÜµÇµµ·Ï ÇÏ´Â ¸î °¡Áö ¹®Á¦µéÀÌ ¿©ÀüÈ÷ Á¸ÀçÇÑ´Ù. ¿©±â¿¡´Â ½ÇÇà ¼Óµµ, ¸Þ¸ð¸® ¿ë·®, µð½ºÅ© ¿ë·® ¹× JVMÀÇ °¡¿ë¼ºÀÌ Æ÷ÇԵȴÙ. JIT ÄÄÆÄÀÏ·¯´Â Ç÷§ÆûÀÇ ½ÇÇà ¼Óµµ Çâ»ó¿¡ Å©°Ô ±â¿©Çß°í J2ME´Â ÀÚ¹Ù Ç÷§ÆûÀÇ ¸Þ¸ð¸® ÇÊ¿ä·®À» ÁÙ¿´Áö¸¸, ¸¹Àº ¿µ¿ª¿¡¼­ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀº ÀÚ½ÅÀÇ ¿ø½Ã (º¸Åë C/C++) ´ëÀÀÀÚµé°ú´Â °æÀïÀÌ ¾È µÈ´Ù. ÀÌ·¯ÇÑ ¹®Á¦µéÀ» ÇØ°áÇϱâ À§ÇØ, ¸¹Àº °³¹ßÀÚµéÀÌ ÀÚ¹Ù ¾ð¾î·Î ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÛ¼ºÇÑ ÈÄ ¿ø½Ã ½ÇÇà ÆÄÀÏ·Î ÄÄÆÄÀÏÇϵµ·Ï ÇØÁÖ´Â ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇØ ¿Ô´Ù. ÀÌ ¼Ö·ç¼ÇÀº Ç÷§Æû µ¶¸³¼ºÀ̶ó´Â ¸éÀº Èñ»ý½ÃÅ°°ÚÁö¸¸, ¿À´Ã³¯ ¸¹Àº ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ ÇʼöÀûÀÎ º¸´Ù ½Å¼ÓÇÑ ½ÇÇà°ú º¸´Ù ÀûÀº ¿ë·® ¿ä±¸¸¦ °¡Á®¿Ã ¼ö ÀÖ´Ù.

¿©·¯ºÐÀÌ ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ ±â¼ú¿¡ °üÇØ »¡¸® ÀÌÇØÇϵµ·Ï Çϱâ À§ÇØ, ¸ÕÀú ÄÚµå ÄÄÆÄÀÏÀÇ ±âÃÊ »çÇ×µéÀ» »ìÆì º¸°Ú´Ù. ¿©±â¿¡¼­ ¿Ö ¸¹Àº °³¹ßÀÚµéÀÌ ÀÚ½ÅÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ·¯¸¦ äÅÃÇÏ°í ÀÖ´ÂÁöµµ °£´ÜÈ÷ ¼³¸íÇÏ°Ú´Ù. ´ÙÀ½¿¡ ¿ì¸®´Â ¹«·á ¼ÒÇÁÆ®¿þ¾î ÄÄÆÄÀÏ·¯¿Í µÎ °³ÀÇ ´Ù¸¥ ¾ÖÇø®ÄÉÀÌ¼Ç (Çϳª´Â °£´ÜÇÏ°í, ´Ù¸¥ Çϳª´Â ´õ º¹ÀâÇÔ)À» ÀÌ¿ëÇÏ¿© ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏÀÇ °á°ú¸¦ Å×½ºÆ®ÇÒ °ÍÀÌ´Ù. ÀÌ ¿¹Á¦µé°ú °á°ú·Î ³ª¿À´Â µµÇ¥´Â ÃֽŠÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ·¯°¡ JVM°ú ¾î¶»°Ô ºñ±³µÇ´ÂÁö¸¦ Á÷Á¢ º¸¿©ÁÙ °ÍÀÌ´Ù.

ÄÚµå ÄÄÆÄÀÏÀÇ ±âÃÊ

ÀÌ ±ÛÀÇ ¼³¸íÀ» µû¶ó°¡±â À§ÇØ ¿©·¯ºÐÀº ´ÙÀ½ ¼¼ °³ÀÇ °¡Àå ÀϹÝÀûÀÎ ÄÚµå ÄÄÆÄÀÏ ¹æ¹ý¿¡ Ä£¼÷ÇØ¾ß ÇÑ´Ù. :

  • javac¿Í °°Àº ÀÚ¹Ù ÄÄÆÄÀÏ·¯·Î ÀÚ¹Ù ÄÚµå ÄÄÆÄÀÏÇϱâ

  • ƯÁ¤ Çϵå¿þ¾î/¿î¿µ üÁ¦ (OS) Ç÷§ÆûÀ» ¸ñÇ¥·Î ÇÑ C/C++ °ú °°Àº ¿ø½Ã ÄÚµå ÄÄÆÄÀÏÇϱâ

  • ƯÁ¤ Çϵå¿þ¾î/¿î¿µ üÁ¦ (OS) Ç÷§ÆûÀ» ¸ñÇ¥·Î ÇÑ ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ·¯·Î ÀÚ¹Ù ÄÚµå ÄÄÆÄÀÏÇϱâ

ÀÚ¹Ù ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇØ ÀÚ¹Ù Äڵ带 ÄÄÆÄÀÏÇÏ´Â °ÍÀº ½±´Ù. °£´ÜÇÏ°Ô ÀÚ¹Ù ¾ð¾î·Î ¼Ò½º Äڵ带 ÀÛ¼ºÇÑ ÈÄ ÀÚ¹Ù ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇØ ¼Ò½º¸¦ ÀÚ¹Ù ¹ÙÀÌÆ®ÄÚµå·Î ÄÄÆÄÀÏÇÏ°í ±× °á°ú¸¦ JVMÀÌ ¼³Ä¡µÇ¾î ÀÖ´Â ¸ðµç Çϵå¿þ¾î/OS Ç÷§Æû¿¡¼­ ½ÇÇà½ÃÅ°¸é µÈ´Ù. »ó¡ÀûÀÎ "ÇÑ ¹ø ÀÛ¼ºÇÏ¿© ¾îµð¼­µç ½ÇÇàµÈ´Ù"´Â À̽ļºÀ» À§ÇØ ÀÚ¹Ù°¡ JVM¿¡ ÀÇÁ¸ÇÏ´Â °ÍÀº ÀÚ¹ÙÀÇ ´ÜÁ¡ÀÌ´Ù. ¿©·¯ºÐÀÌ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇà½ÃÅ°°íÀÚ ÇÏ´Â ¾î¶² Ç÷§Æû¿¡¼­µµ JVMÀÌ »ç¿ë °¡´ÉÇØ¾ß ÇÒ »Ó ¾Æ´Ï¶ó, ±× JVMÀ» Áö¿øÇÏ·Á¸é »ó´çÇÑ ½Ã½ºÅÛ ÀÚ¿ø (¸Þ¸ð¸® ¹× µð½ºÅ© °ø°£)ÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±× °á°ú ¸¹Àº °³¹ßÀÚµéÀÌ C/C++°ú °°ÀÌ À¯¿¬¼ºÀº ³·Áö¸¸ ´õ ±¸Ã¼ÀûÀΠŸ°ÙÀÌ Á¤ÇØÁø ¾ð¾î¿¡ °è¼ÓÇؼ­ ÀÇÁ¸ÇÏ°í ÀÖ´Ù.

C/C++·Î µÈ ¼Ò½º¸¦ ÄÄÆÄÀÏÇÏ´Â °ÍÀº ÀÚ¹Ù¿¡¼­¿Í ºñ½ÁÇÏ´Ù. ÀÏ´Ü Äڵ尡 ÀÛ¼ºµÇ¸é ƯÁ¤ Çϵå¿þ¾î/OS Ç÷§ÆûÀ» ¸ñÇ¥·Î ÇÑ ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿(linker)¸¦ ÅëÇØ À̸¦ ½ÇÇà½ÃŲ´Ù. ±× °á°ú ³ª¿À´Â ¾ÖÇø®ÄÉÀ̼ÇÀº ¸ñÇ¥·Î ÇÑ Ç÷§Æû¿¡¼­¸¸ ½ÇÇàµÇÁö¸¸, JVMÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê¾Æµµ µÈ´Ù (»ç¿ëµÇ´Â ¾ð¾î¿¡ µû¶ó, ¸î¸î °øÀ¯ ¶óÀ̺귯¸®ÀÇ Áö¿øÀ» ÇÊ¿ä·Î ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸). °¡Àå °£´ÜÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¦¿ÜÇÏ°í´Â ÀÌ ±â¹ýÀ» »ç¿ëÇØ °³¹ßµÈ ¸ðµç ¾ÖÇø®ÄÉÀ̼ÇÀº ¿©·¯ºÐÀÌ ½ÇÇà½ÃÅ°°íÀÚ ÇÏ´Â Çϵå¿þ¾î/OS Ç÷§Æû °¢°¢¿¡ ¸Â°Ô °³º°ÀûÀ¸·Î ¼öÁ¤µÇ¾î¾ß ÇÑ´Ù.

¼¼¹ø° ¹æ¹ýÀº °³¹ßÀÚµéÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÚ¹Ù ¾ð¾î·Î ÀÛ¼ºÇÑ ÈÄ À̸¦ ¿ø½Ã ½ÇÇà ÆÄÀÏ·Î ÄÄÆÄÀÏÇϵµ·Ï ÇÔÀ¸·Î½á À§ ¼Ö·ç¼ÇµéÀÇ ÀåÁ¡À» °áÇÕ½ÃÅ°·Á°í ½ÃµµÇÑ´Ù. ÀÏ´Ü ÀÚ¹Ù Äڵ尡 ÀÛ¼ºµÇ¸é ÀÚ¹Ù ÄÄÆÄÀÏ·¯¸¦ ÅëÇØ ½ÇÇàµÇ¾î ÀÚ¹Ù ¹ÙÀÌÆ®Äڵ带 ¸¸µé°í, ÀÌ ¹ÙÀÌÆ®Äڵ尡 ¿ø½Ã ÄÚµå·Î ÄÄÆÄÀϵȴÙ. ȤÀº ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ·¯·Î ¹Ù·Î ½ÇÇàµÉ ¼öµµ ÀÖ´Ù. °ü·ÃµÈ ´Ü°èÀÇ ¼ö´Â »ç¿ëÇÏ´Â ÄÄÆÄÀÏ·¯ÀÇ ¿ä±¸ »çÇ׿¡ ´Þ·Á ÀÖ´Ù.

ÀÌ ¹æ½ÄÀÇ ÀåÁ¡Àº °á°ú·Î ³ª¿À´Â Äڵ尡 ¸ñÇ¥ Ç÷§Æû¿¡¼­ JVM ¾øÀ̵µ ½ÇÇàµÉ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ ¹æ½ÄÀº ½ÇÇà ¼Óµµ´Â ¸¹ÀÌ Çâ»óµÇ°í ½ÇÇà¿¡ ÇÊ¿äÇÑ µð½ºÅ© °ø°£°ú ¸Þ¸ð¸®´Â »ó´çÈ÷ ÁÙ¾îµç ÀÚ¹Ù ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀ» ÁöÇâÇÑ´Ù (ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ·¯¿¡ ´ëÇÑ Áö¿ø ¶óÀ̺귯¸®µéÀ» Á¦°øÇØ¾ß ÇÒ ¼öµµ ÀÖÁö¸¸).

ÄÄÆÄÀÏ·¯´Â ¸ñÇ¥·Î ÇÏ´Â Ç÷§Æû, ÀÚ¹Ù Áö¿ø ¼öÁØ ¹× »ç¿ëÇÏ´Â ½Ã½ºÅÛ ÀÚ¿øÀÇ ¾ç¿¡ µû¶ó ´Ù¾çÇÏ´Ù. Âü°í ÀÚ·á¿¡¼­ ÇöÀç »ç¿ë °¡´ÉÇÑ ¿ø½Ã ÄÄÆÄÀÏ·¯ ÀϺÎÀÇ ¸ñ·ÏÀ» º¼ ¼ö ÀÖ´Ù.

Å×½ºÆ® ¼³Á¤¿¡ °üÇØ

½ÃÀå¿¡ ³ª¿Í ÀÖ´Â ¸ðµç ¿ø½Ã ÄÄÆÄÀÏ·¯ÀÇ ±â´É°ú ¼º´ÉÀ» ºñ±³ÇÏ´Â °ÍÀº ÀÌ ±ÛÀÇ ¹üÀ§¸¦ ¹þ¾î³­´Ù. ´ë½Å ³ª´Â ¿ø½Ã ÄÄÆÄÀÏÀÇ °úÁ¤°ú °á°ú¸¦ »ó¼¼È÷ ¼³¸íÇϱâ À§ÇÑ ¿¹Á¦·Î GNU Compiler for the Java Programming Language (GCJ)¸¦ »ç¿ëÇÏ¿´´Ù. GCJ´Â GNU ÇÁ·ÎÁ§Æ®ÀÇ ÀϺÎÀÎ GNU Compiler Collection (GCC)À» À§ÇØ °³¹ßµÈ ÄÄÆÄÀÏ·¯ Áß ÇϳªÀÌ´Ù. GNU ÇÁ·ÎÁ§Æ®¿¡¼­ ³ª¿Â ¸ðµç ¼ÒÇÁÆ®¿þ¾î¿Í ¸¶Âù°¡Áö·Î GCJ´Â ¹«·á ¼ÒÇÁÆ®¿þ¾îÀÌ°í µû¶ó¼­ ½±°Ô ¾òÀ» ¼ö ÀÖ´Ù (Âü°í ÀÚ·á). ¿©·¯ºÐÀÇ Á¦Ç°¿¡ ¿ø½Ã ÄÄÆÄÀÏ ¹æ½ÄÀ» ½É°¢ÇÏ°Ô °í·ÁÇÏ°í ÀÖ´Ù¸é °¡´ÉÇÑ ÇÑ ¸¹Àº ÄÄÆÄÀÏ·¯¸¦ Æò°¡ÇØ º¸¾Æ¾ß Çϴµ¥, ¾Æ¸¶µµ ÀÌ ±Û¿¡¼­ ±ÔÁ¤ÇÑ ±âÁØÀ» »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

³ªÀÇ Å×½ºÆ®¿ë ½Ã½ºÅÛ Çϵå¿þ¾î´Â 450Mz·Î ÀÛµ¿ÇÏ´Â Pentium II ÇÁ·Î¼¼¼­¸¦ ÀåÂøÇÏ°í 320 MBÀÇ ¸Þ¸ð¸®¸¦ °¡Áø ÇÑ ´ëÀÇ PC·Î ±¸¼ºµÇ¾î ÀÖ´Ù. OS´Â ÃÖ±Ù ¼³Ä¡ÇÑ Mandrake 8.1 ¸®´ª½º ¹èÆ÷ÆÇÀÌ´Ù. ÀÌ ¹èÆ÷ÆÇÀº GCC 3.0.1¿¡ Æ÷ÇԵǾî ÀÖ°í 8.1 Mandrake ¹èÆ÷ÆÇÀÇ ÀϺηΠÃâÇϵǴ GCJ 3.0.1°ú ÇÔ²² Á¦°øµÈ´Ù.

³ª´Â µÎ°³ÀÇ °³º°ÀûÀÎ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇà½ÃÅ°´Âµ¥, Çϳª´Â ¸Å¿ì °£´ÜÇÑ °ÍÀÌ°í ³ª¸ÓÁö Çϳª´Â Á» ´õ º¹ÀâÇÏ´Ù. ÀÚ¹Ù Ç÷§ÆûÀÇ ¼º´É¿¡ ´ëºñÇØ ½Ã½ºÅÛ ¼º´ÉÀ» ºñ±³Çϱâ À§ÇØ ³ª´Â ¾ÖÇø®ÄÉÀ̼ǵéÀ» ÀÚ¹Ù ¹ÙÀÌÆ® ÄÚµå·Î ÄÄÆÄÀÏÇÏ¿´´Ù. Sun JDK version 1.3.1.02 for Linux¸¦ »ç¿ëÇØ ÀÚ¹Ù Äڵ带 ÄÄÆÄÀÏÇÑ ÈÄ ±× °á°ú ³ª¿Â Ŭ·¡½º¸¦ ´ÙÀ½ÀÇ JVMµé¿¡¼­ Å×½ºÆ®ÇÏ¿´´Ù. :

  • Kaffe 1.0.6

  • Sun JVM 1.3.1_02

  • IBM JRE 1.3.1

ÀÌ ±ÛÀÇ ¸ñÀû»ó ³ª´Â ½ÇÇà ¼Óµµ, ¸Þ¸ð¸® ºÎÇÏ¿Í µð½ºÅ© °ø°£À» ÃøÁ¤ÇÏ¿´´Ù.

Å×½ºÆ® 1: Prime.java

ù¹ø° Å×½ºÆ® ¾ÖÇø®ÄÉÀ̼ÇÀº prime.java¶ó´Â ÇϳªÀÇ Å¬·¡½º·Î ±¸¼ºµÈ ¸Å¿ì °£´ÜÇÑ °ÍÀÌ´Ù. ÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀº ¼Ò¼ö¸¦ °Ë»öÇÏ´Â ¸Å¿ì ±âº»ÀûÀÎ ¾Ë°í¸®ÁòÀ» ±¸ÇöÇÑ´Ù. Listing 1Àº prime.javaÀÇ ¼Ò½º ÄÚµåÀÌ´Ù.

Listing 1. prime.javaÀÇ ¼Ò½º

import java.io.*;
class prime 
{
   private static boolean isPrime(long i)
   {
       for(long test = 2; test < i; test++)
       {
	   if(i%test == 0)
	   {
		return false;
	   }
       }       
       return true;
   }

   public static void main(String[] args) throws IOException 
   {
       long start_time = System.currentTimeMillis();

       long n_loops =  50000;
       long n_primes = 0;

       for(long i = 0; i < n_loops; i++)
       {
	   if(isPrime(i))
           {
	       n_primes++;
           }
       }
   
       long end_time = System.currentTimeMillis();

       System.out.println(n_primes + " primes found");       
       System.out.println("Time taken = " + (end_time - start_time));
   }
}

¿©·¯ºÐÀÌ º¼ ¼ö ÀÖµíÀÌ, ÄÚµå´Â 0¿¡¼­ 50000±îÁö ¹Ýº¹ÇÑ´Ù. ÀÌ ÄÚµå´Â ¹Ýº¹ÇÏ¸ç ¸¸³ª´Â °¢ ¼ö¸¦ ±× ÀÚ½ÅÀÌ µÉ ¶§±îÁöÀÇ ¸ðµç ¼ö·Î ÀÏÀÏÀÌ ³ª´©¾î ³ª¸ÓÁö°¡ ÀÖ´ÂÁö È®ÀÎÇÏ°íÀÚ ÇÑ´Ù. (ÀÌ°ÍÀº ¼Ò¼ö¸¦ ã¾Æ³»±â À§ÇÑ ¾ïÁö½º·¯¿î ±â¹ýÀÌÁö¸¸, ¿¹Á¦·Î´Â ÃæºÐÇÒ °ÍÀÌ´Ù.)

³ª´Â ´ÙÀ½ÀÇ ¸í·É¹®À¸·Î prime.java¸¦ ¿ø½Ã ½ÇÇà ÆÄÀÏÀÌ µÇµµ·Ï ÄÄÆÄÀÏÇÏ¿´´Ù:

gcj prime.java -O3 --main=prime -o prime

-03 ÀÎÀÚ´Â "¼Óµµ¸¦ À§ÇØ ÃÖÀûÈ­ÇÑ´Ù"´Â ÀǹÌÀÌ´Ù.; --main ÀÎÀÚ´Â GCJ¿¡°Ô ¾ÖÇø®ÄÉÀ̼ÇÀÌ ½ÇÇàµÉ ¶§ »ç¿ëµÇ´Â ¸ÞÀÎ ¸Þ¼Òµå¸¦ ¾î¶² Ŭ·¡½º°¡ Æ÷ÇÔÇÏ°í ÀÖ´ÂÁö ¾Ë·ÁÁØ´Ù.; -o Prime ÀÎÀÚ´Â °á°ú·Î ³ª¿À´Â ½ÇÇà ÆÄÀÏÀ» ¸í¸íÇÑ´Ù. ¸í·ÉÇà¿¡¼­ ¾µ ¼ö ÀÖ´Â ¸ðµç ÀÎÀÚ¸¦ º¸·Á¸é GCJ ¹®¼­¸¦ ÂüÁ¶ÇÑ´Ù.

ÀÚ¹Ù ¹ÙÀÌÆ®ÄÚµå Å×½ºÆ®¸¦ ÄÄÆÄÀÏÇϱâ À§ÇØ ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇÏ¿´´Ù:

/usr/java/jdk1.3.1_02/bin/javac -O prime.java

±×¸®°í ³ª¼­ ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ¿ì¸®ÀÇ Å×½ºÆ® JVM °¢°¢¿¡ ´ëÇØ Äڵ带 È£ÃâÇÏ¿´´Ù.:

  • Native: ./prime

  • Kaffe: /usr/bin/java prime

  • Sun JDK: /usr/java/jdk1.3.1_02/bin/java prime

  • IBM JRE: /opt/IBMJava2-13/jre/bin/java prime

prime.javaÀÇ Å×½ºÆ® °á°ú

¾Õ¿¡¼­ ¾ð±ÞÇßµíÀÌ, ³ª´Â ½ÇÇà ¼Óµµ, ¸Þ¸ð¸® »ç¿ë·® ¹× µð½ºÅ© °ø°£ »ç¿ë·®À» Å×½ºÆ®ÇÏ¿´´Ù. ´ÙÀ½ Ç¥´Â ù¹ø° Å×½ºÆ® °á°ú¸¦ »ó¼¼ÇÏ°Ô º¸¿© ÁØ´Ù.

Ç¥ 1. Prime.java: ½ÇÇà ¼Óµµ

±¸Çö ½Ã°£ (´ÜÀ§: msec, 3ȸ ½ÇÇà Æò±Õ, ³·À»¼ö·Ï ÁÁ´Ù)
Native 40180
Kaffe 75456
Sun JDK 67315
IBM JRE 18188

Ç¥ 2. Prime.java: ¸Þ¸ð¸® »ç¿ë·®

±¸Çö VM »çÀÌÁî (KB) VM RSS (KB)
Native 7024 3528
Kaffe 8888 3564
Sun JDK 169560 6636
IBM JRE 81936 6288

VM »çÀÌÁî°¡ ÇÁ·Î¼¼½º À̹ÌÁöÀÇ Àüü »çÀÌÁî¿Í °°´Ù´Â Á¡¿¡ ÁÖÀÇÇÏ´Ù. ¿©±â¿¡´Â ½º¿ÍÇÎµÈ ÆäÀÌÁöµéÀ» Æ÷ÇÔÇØ ¸ðµç ÄÚµå, µ¥ÀÌÅÍ, ÇÁ·Î¼¼½º°¡ »ç¿ëÇÏ´Â °øÀ¯ ¶óÀ̺귯¸®°¡ Æ÷ÇԵȴÙ. VM resident set size (RSS)´Â °øÀ¯ ¶óÀ̺귯¸®¸¦ Æ÷ÇÔÇØ ½ÇÁ¦·Î RAM¿¡ »óÁÖÇÏ´Â ÇÁ·Î¼¼½º ºÎºÐ (ÄÚµå¿Í µ¥ÀÌÆ®)ÀÇ »çÀÌÁî¿Í °°´Ù. ÀÌ´Â ÇÑ ÇÁ·Î¼¼½º°¡ ¾ó¸¶³ª ¸¹Àº RAMÀ» »ç¿ëÇÏ°í ÀÖ´ÂÁö ÀûÁ¤ÇÏ°Ô ÃßÁ¤ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.

°£´ÜÈ÷ ¸»ÇØ, ÇÑ ÇÁ·Î¼¼½º°¡ ´ë·®ÀÇ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ¸é ±×°ÍÀÌ VM »çÀÌÁî¿¡ ³ªÅ¸³ªÁö¸¸ ½ÇÁ¦·Î »ç¿ëµÉ ¶§±îÁö´Â (¿¹ : Àб⳪ ¾²±â) VM RSS¿¡´Â ³ªÅ¸³ªÁö ¾ÊÀ» °ÍÀÌ´Ù. VM RSS´Â ½ÇÁ¦·Î º¸´Ù Áß¿äÇÑ Ã´µµÀÌ´Ù. ½Ã½ºÅÛÀÇ ¼º´É »óȲÀ» ´õ Àß ³ªÅ¸³»±â ¶§¹®ÀÌ´Ù.

Ç¥ 3. Prime.java: µð½ºÅ© °ø°£ »ç¿ë·®

±¸Çö ÃÑ ÄÄÆÄÀÏ »çÀÌÁî (bytes)
Native 22268
Java classes 962

Ç¥ 3¿¡ ³ªÅ¸³­ ÃøÁ¤Ä¡´Â °øÀ¯ ¶óÀ̺귯¸®¿Í JVMÀ» Á¦¿ÜÇÏ°í ½ÇÇà ÆÄÀϸ¸ »©³»¾î ÃøÁ¤µÇ¾ú´Ù.

Å×½ºÆ® 2: SciMark 2
µÎ¹ø° Å×½ºÆ®¸¦ À§ÇØ ³ª´Â Á» ´õ º¹ÀâÇÑ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀÎ SciMark 2 ÀÚ¹Ù º¥Ä¡¸¶Å©¸¦ äÅÃÇÏ¿´´Ù. ÀÌ ±Û¿¡¼­ »ç¿ëµÈ ¸í·ÉÇà ¹öÀüÀ» ¹«·á·Î ¾òÀ» ¼ö ÀÖ´Ù. (Âü°í ÀÚ·á) SciMark 2´Â ¾ÆÁÖ º¹ÀâÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î, JVMÀÇ È¿À²À» Á¤È®ÇÏ°Ô ÃøÁ¤Çϱâ À§ÇÑ ¸¹Àº ¼öÀÇ º¥Ä¡¸¶Å©µéÀ» ±¸ÇöÇÏ°íÀÖ´Ù.

³ª´Â ´ÙÀ½ Äڵ带 »ç¿ëÇÏ¿© SciMark 2¸¦ ¿ø½Ã ½ÇÇà ÆÄÀÏ·Î ÄÄÆÄÀÏÇÏ¿´´Ù:


gcj-3.0.1 -O3 commandline.java Random.java FFT.java SOR.java Stopwatch.java 
  SparseCompRow.java LU.java kernel.java MonteCarlo.java 
    --main=jnt.scimark2.commandline -o scimark

±×¸®°í ´ÙÀ½ Äڵ带 »ç¿ëÇÏ¿© ¾ÖÇø®ÄÉÀ̼ÇÀ» ÀÚ¹Ù ¹ÙÀÌÆ®ÄÚµå·Î ÄÄÆÄÀÏÇÏ¿´´Ù:


/usr/java/jdk1.3.1_02/bin/javac -O *.java

SciMark 2 º¥Ä¡¸¶Å©´Â ÀÏ¹Ý ¸ðµå¿Í ´ëÇü ¸ðµåÀÇ µÎ ¸ðµå·Î ½ÇÇàµÉ ¼ö ÀÖ´Ù. »ç¿ëÇÏ´Â ¸ðµå´Â »ç¿ëµÇ´Â ¹®Á¦ ¼¼Æ®ÀÇ Å©±â¸¦ °áÁ¤ÇÑ´Ù. ³ª´Â µÎ ¸ðµå ¸ðµÎ·Î Å×½ºÆ®¸¦ ½ÇÇà½ÃÄ×´Ù.

ÀÏ¹Ý ¸ðµå¿¡¼­ Äڵ带 È£ÃâÇϱâ À§ÇØ ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇÏ¿´´Ù:

  • Native: ./scimark

  • Kaffe: /usr/bin/java jnt.scimark2.commandline

  • Sun JDK: /usr/java/jdk1.3.1_02/bin/java jnt.scimark2.commandline

  • IBM JRE: /opt/IBMJava2-13/jre/bin/java jnt.scimark2.commandline

º¸´Ù Å« ¹®Á¦ ¼¼Æ®¿¡ ´ëÇؼ­´Â ´ÙÀ½ ¸í·É¾î¸¦ »ç¿ëÇÏ¿´´Ù:

  • Native: ./scimark -large

  • Kaffe: /usr/bin/java jnt.scimark2.commandline -large

  • Sun JDK: /usr/java/jdk1.3.1_02/bin/java jnt.scimark2.commandline -large

  • IBM JRE: /opt/IBMJava2-13/jre/bin/java jnt.scimark2.commandline -large

SciMark 2ÀÇ Å×½ºÆ® °á°ú

´ÙÀ½ Ç¥´Â SciMark 2¸¦ ÄÄÆÄÀÏÇÑ °á°úÀÌ´Ù. ÀÏ¹Ý ¸ðµå¿Í ´ëÇü ¸ðµå¿¡¼­ÀÇ °á°úÀÇ Â÷ÀÌ¿¡ ÁÖ¸ñÇÑ´Ù.

Ç¥ 4. SciMark 2, ÀÏ¹Ý ¸ðµå : ½ÇÇà ¼Óµµ

±¸Çö º¹ÇÕ Á¡¼ö (3ȸ ½ÇÇà Æò±Õ, ³ôÀ»¼ö·Ï ÁÁ´Ù)
Native 15.22
Kaffe 7.01
Sun JDK 22.86
IBM JRE 25.29

Ç¥ 5. SciMark 2, ÀÏ¹Ý ¸ðµå : ¸Þ¸ð¸® »ç¿ë·®

±¸Çö VM size (KB) VM RSS (KB)
Native 9788 5956
Kaffe 8888 4092
Sun JDK 169692 7428
IBM JRE 81964 7408

Ç¥ 6. SciMark 2, ´ëÇü ¸ðµå : ½ÇÇà ¼Óµµ

±¸Çö º¹ÇÕ Á¡¼ö (3ȸ ½ÇÇà Æò±Õ, ³ôÀ»¼ö·Ï ÁÁ´Ù)
Native 8.78
Kaffe 5.72
Sun JDK 12.04
IBM JRE 15.04

Ç¥ 7. SciMark 2, ´ëÇü ¸ðµå : ¸Þ¸ð¸® »ç¿ë·®

±¸Çö VM »çÀÌÁî (KB) VM RSS (KB)
Native 62888 59072
Kaffe 58056 56988
Sun JDK 169692 64624
IBM JRE 81964 57704

Ç¥8. SciMark 2: µÎ ¸ðµå¿¡¼­ÀÇ µð½ºÅ© °ø°£ »ç¿ë·®

±¸Çö ÄÄÆÄÀÏ »çÀÌÁî Compiled size (bytes)
Native 49588
Java Classes 16318

´Ù½Ã Çѹø ¸»ÇÏÁö¸¸, Ç¥ 8¿¡ ³ªÅ¸³­ ÃøÁ¤Ä¡´Â °øÀ¯ ¶óÀ̺귯¸®¿Í JVMÀº Á¦¿ÜÇÏ¸ç ½ÇÇà ÆÄÀϸ¸ »©³»¾î ÃøÁ¤µÇ¾ú´Ù.

¿ø½Ã ÄÄÆÄÀÏÀÇ Àå´ÜÁ¡

À§ÀÇ Å×½ºÆ® °á°ú¿¡¼­µµ ºÐ¸íÈ÷ ³ªÅ¸³ªÁö¸¸, ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏÀÌ ¼º°øÀ̳ª ½ÇÆгĴ ¸íÈ®ÇÏÁö ¾Ê´Ù. ¸î °¡Áö º¥Ä¡¸¶Å©´Â ¿ø½Ã ÄÚµå·Î ÄÄÆÄÀÏµÈ ½ÇÇà ÆÄÀÏÀÌ JVM ¹öÀü¿¡¼­º¸´Ù ºü¸£´Ù´Â °ÍÀ» º¸¿©ÁÖ¾ú´Ù.; ±×·¯³ª ´Ù¸¥ °ÍÀº ´Ê¾ú´Ù. ¸¶Âù°¡Áö·Î ÀϺΠÀÛ¾÷ÀÇ ¼Óµµ´Â ´Ù¸¥ JVM°£¿¡ Â÷ÀÌ°¡ ¾ÆÁÖ ¸¹ÀÌ ³­´Ù."working set" ¸Þ¸ð¸® Å×½ºÆ®¸¦ ¼öÇàÇÑ °á°ú ½ÇÇà½ÃÀÇ ¸Þ¸ð¸® »ç¿ë·®¿¡´Â Å« Â÷ÀÌ°¡ ¾ø´Â °ÍÀ¸·Î ³ªÅ¸³µ´Ù. ¿ø½Ã Å×½ºÆ®¿Í JVM Å×½ºÆ® ¾çÂÊ¿¡ ¼­·Î ´Ù¸¥ °¡ºñÁö Ä÷º¼Ç ¹æ¹ýÀ» äÅÃÇÑ Å×½ºÆ®°¡ ÀÌ ¿µ¿ªÀ» ´õ Àß º¸¿©ÁÙ ¼ö ÀÖ´Ù.

µð½ºÅ© °ø°£ ¸é¿¡¼­´Â ¿ø½Ã ¹öÀüÀÌ JVM ¹öÀüº¸´Ù È®½ÇÇÑ ½ÂÀÚ¿´´Âµ¥, ÀÌ »ç½ÇÀº JVMÀÇ »çÀÌÁ °í·ÁÇÒ ¶§¸¸ Àû¿ëµÈ´Ù. Ŭ·¡½º ÀÚü´Â ¾ÆÁÖ ÀÛÁö¸¸ Å×½ºÆ®µÈ JVMÀº ÄÇ´Ù. (IBM°ú Sun JVMÀÇ jre ÇÏÀ§ µð·ºÅ丮¿¡¼­ÀÇ ¼øȯÀûÀÎ µð·ºÅ丮 ¸ñ·ÏÀº JRE¸¸µµ 50MB°¡ ³Ñ´Â µð½ºÅ© °ø°£À» Â÷ÁöÇÑ´Ù´Â »ç½ÇÀ» º¸¿©ÁÖ¾ú´Ù.) ±×·¯³ª º¸´Ù ÀÛÀº JVMÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ°í, JVM°ú ÇÑ ¾ÖÇø®ÄÉÀ̼ǰúÀÇ °áÇÕÀÌ ¿ø½Ã ½ÇÇà ÆÄÀÏ°ú GCJ ·±Å¸ÀÓ ¶óÀ̺귯¸®ÀÎ libgcj.so (3MB ÀÌÇÏ)ÀÇ °áÇÕº¸´Ù ÈξÀ Å©Áö¸¸ ¿ø½Ã ¹öÀüÀÇ ½ÇÇà ÆÄÀÏ »çÀÌÁî°¡ ÈξÀ Å©´Ù´Â Á¡À» ¿°µÎ¿¡ µÎ±â ¹Ù¶õ´Ù. µû¶ó¼­ ¸¹Àº ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÇÊ¿äÇÑ »óȲ¿¡¼­´Â JVM ¹öÀüÀÌ ÃÖÁ¾ÀûÀ¸·Î ½ÂÀÚ°¡ µÉ °ÍÀÌ´Ù.

´Ù¼Ò ºÒºÐ¸íÇÑ ÀÌ °á°ú¿¡ µ¡ºÙ¿©, ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ¸¹Àº ÀáÀçÀûÀÎ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù:

  • Ç÷§Æû µ¶¸³¼ºÀÇ »ó½Ç : »ç½Ç ÀÌ°ÍÀº ±×·¸°Ô Å« ¹®Á¦´Â ¾Æ´Ï´Ù. ¼Ò½º°¡ ÀÚ¹Ù ¾ð¾î·Î ÀÛ¼ºµÇ¾ú±â ¶§¹®¿¡, ¿©·¯ºÐÀº ¿©ÀüÈ÷ ¾îµð¿¡¼­µç ½ÇÇàµÉ ¼ö ÀÖ´Â ÀÚ¹Ù ¹ÙÀÌÆ® ÄÚµå ¹öÀüÀ» ¸¸µé¾î³¾ ¼ö ÀÖ°í ÇÊ¿äÇÒ ¶§´Â ƯÁ¤ Ç÷§Æû¿¡¼­ ¿ø½Ã ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

  • Ŭ·¡½º Áö¿ø/ÄÄÆÄÀÏ·¯ ¼º¼÷µµ : ¸î¸î ÄÄÆÄÀÏ·¯´Â ¾ÆÁ÷ ºñ±³Àû ¹Ì¼º¼÷ÇÑ »óÅÂÀÌ°í ¿©·¯ºÐ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¿ä±¸ÇÏ´Â ¸ðµç Àڹ٠Ŭ·¡½º¸¦ Áö¿øÇÏÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î, GCJ´Â »ç¾ç v.1.1±îÁö ´ëºÎºÐÀÇ ÀÚ¹Ù ¾ð¾î »ý¼ºÀÚ¸¦ Áö¿øÇÏÁö¸¸, º¸Åë JVM°ú ÇÔ²² ÃâÇϵǴ ¸ðµç Àڹ٠Ŭ·¡½º ¶óÀ̺귯¸®¸¦ Áö¿øÇÏÁö´Â ¾Ê´Â´Ù. °¡Àå ¶Ñ·ÇÇÑ °ÍÀÌ AWT¿¡ ´ëÇÑ Áö¿øÀÌ °ÅÀÇ ¾ø´Ù´Â °ÍÀε¥, µû¶ó¼­ GCJ´Â GUI ¾ÖÇø®ÄÉÀ̼ǿ¡¼­´Â ºÎÀû´çÇÏ´Ù. ÄÄÆÄÀÏ·¯¸¶´Ù Áö¿øÇϴ Ŭ·¡½º ¶óÀ̺귯¸®ÀÇ ¼öÁØÀÌ ´Ù¸£´Ù. Excelsior JET´Â AWT¿Í SwingÀ» ¿Ïº®ÇÏ°Ô Áö¿øÇÑ´Ù°í ÁÖÀåÇÏ´Â ÇÑ ÄÄÆÄÀÏ·¯ÀÌ´Ù.

  • Áö¿ø/º¹À⼺ : ÀÌ ¹®Á¦´Â ºñ±³Àû »õ·Î¿î ºÐ¾ß¶ó¼­ °³¹ßÀÚµéÀÌ Àß ÀÌÇØÇÏÁö ¸øÇÏ´Â °æ¿ì°¡ ¸¹´Ù. Áø´Ü ÅøÀº ÇöÀå¿¡¼­´Â ´Ù¼Ò ¾àÇؼ­ ¿ø½ÃÀûÀ¸·Î ÄÄÆÄÀÏµÈ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ µîÀåÇÏ´Â ¹®Á¦µéÀ» Áø´ÜÇÏ´Â °ÍÀÌ ´õ¿í ¾î·Á¿öÁú °¡´É¼ºÀÌ ÀÖ´Ù. (¿¡·¯°¡ ÀÚ¹Ù ¹ÙÀÌÆ®ÄÚµå ¹öÀü¿¡¼­´Â ³ªÅ¸³ªÁö ¾ÊÀ» °æ¿ì ƯÈ÷ ´õ ±×·¯ÇÏ´Ù.)

°á·Ð
¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ÀÖ¾î ÀϹÝÀûÀ¸·Î ±×·¯ÇϵíÀÌ, ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏÀÌ ¿©·¯ºÐÀÇ Æ¯Á¤ ȯ°æ¿¡ ´ëÇÑ ÇØ´äÀÎÁö¸¦ ½ÇÁ¦·Î °áÁ¤ÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº ¹®Á¦ ÇØ°á »çÀÌŬÀ» ½ÃÇàÇØ º¸´Â °ÍÀÌ´Ù:

  1. ¿ø½Ã ÄÄÆÄÀÏ·¯·Î Á¤È®È÷ ¾î¶² ¹®Á¦ (ȤÀº ¹®Á¦µé)À» ÇØ°áÇÏ°íÀÚ ÇÏ´ÂÁö¸¦ °áÁ¤ÇÑ´Ù.

  2. »ç¿ë °¡´ÉÇÑ ¿ø½Ã ÄÄÆÄÀÏ·¯µéÀ» »ìÆ캸°í ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖÀ» °ÍÀ¸·Î º¸ÀÌ´Â ¸î °¡Áö¸¦ ¼±ÅÃÇÑ´Ù.

  3. ¼±ÅÃÇÑ ÄÄÆÄÀÏ·¯ ¸ðµÎ¸¦ ¿©·¯ºÐ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ½ÃÇèÇØ º¸°í °á°ú¸¦ »ìÆì º»´Ù.

±â¼úÀÌ ºñ±³Àû ¹Ì¼º¼÷ÇÏ°í ¸íÈ®ÇÑ °á°ú¸¦ º¸¿©ÁÖÁö´Â ¸øÇÏÁö¸¸, ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏÀº ÀÚ¹Ù ¾ð¾î¿¡¼­ Èï¹Ì·Î¿î »õ ºÐ¾ßÀÌ´Ù. ±âÁ¸ÀÇ ¿É¼ÇÀ» ÀÌ¿ëÇÏ´Â ÃÖ»óÀÇ ¹æ¹ýÀº À̵éÀ» Á÷Á¢ Á¶»çÇÏ°í Å×½ºÆ®ÇØ º¸´Â °ÍÀε¥, ¾Æ¸¶µµ ÀÌ ±Û¿¡¼­ Á¦½ÃÇÑ ±â¹ý°ú ±âÁØÀ» »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¿ø½Ã ÄÄÆÄÀÏÀº ¸¹Àº »ç¶÷µéÀÌ »ý°¢ÇϵíÀÌ JVM ų·¯´Â ¾Æ´ÏÁö¸¸, ÀϺΠ¾ÖÇø®ÄÉÀ̼ǰú ȯ°æ¿¡ ÀûÇÕÇÑ ¼Ö·ç¼ÇÀÓÀÌ ÆǸíµÇ¾ú´Ù. ¿ø½Ã ÄÄÆÄÀÏÀº ÀÚ¹Ù ¾ð¾î¸¦ ºÒ°ú ¸î ³âÀü±îÁö´Â Àû¿ëµÉ ¼ö ¾ø¾ú´ø ¿µ¿ª¿¡¼­ »ç¿ëµÇµµ·Ï È®Àå½ÃÄ×´Ù. ÀÌ´Â ÀÚ¹Ù ¾ð¾î¿Í ÀÚ¹Ù ±×·ì¿¡ ÀüüÀûÀ¸·Î ÁÁÀº ÀÏÀ̶ó ÇÒ ¼ö ÀÖ´Ù.

Âü°í ÀÚ·á

¾ö¼±µÈ ÀÚ¹Ù ¿ø½Ã ÄÄÆÄÀÏ·¯

ÇÊÀÚ¼Ò°³

Martyn HoneyfordÀº 1996³â Nottingham ´ëÇп¡¼­ ÄÄÇ»ÅÍ °úÇÐ Çлç ÇÐÀ§¸¦ ÃëµæÇß°í, ÀÌ ÈÄ ¿µ±¹ Hursley ¼ÒÀç IBM UK Labs¿¡¼­ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î·Î Âß ÀÏÇØ ¿Ô´Ù. ÇöÀç WebSphere MQ Everyplace °³¹ßÆÀ¿¡¼­ °³¹ßÀÚ·Î ÀÏÇÏ°í ÀÖ´Ù.



ÀÌ ±â»ç¿¡ ´ëÇÏ¿© ¾î¶»°Ô »ý°¢ÇϽʴϱî?

Á¤¸» ÁÁ´Ù (5) ÁÁ´Ù (4) ±×Àú±×·¸´Ù (3) ¼öÁ¤º¸¿ÏÀÌ ÇÊ¿äÇÏ´Ù(2) ÇüÆí¾ø´Ù (1)

  È¸»ç¼Ò°³  |  °³ÀÎÁ¤º¸ º¸È£Á¤Ã¥  |  ¹ý·ü  |  ¹®ÀÇ