ææ°ã®ãšã³ã¿ãŒãã©ã€ãºJVMã¢ããªã±ãŒã·ã§ã³ã§ã¯ãJITæé©åè§£é€ã®é£éåå¿ã«ãã£ãŠäºæž¬äžèœãªããã©ãŒãã³ã¹åé¡ãçºçããããšãé »ç¹ã«ãããŸããããããé£éåå¿ã¯ãã³ã³ãã€ã«æã«æ§ç¯ãããæšæž¬çãªä»®å®ããäŸåããå®è¡ãã¹å šäœã§ç¡å¹ã«ãªã£ãå Žåã«çºçããŸããå€§èŠæš¡ã·ã¹ãã ã«å åšããæ§é çãªè€éãã¯ããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§æŠèª¬ãããŠãã課é¡ã«äŒŒãŠãããã³ã³ããŒãã³ãéã®åäœãçè§£ããã«ã¯è©³çްãªå¯èŠæ§ãå¿ èŠãšãªããŸããåæ§ã®èšºæããŒãºã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã«ãèŠããã埮åŠãªãªã³ã¯ãã©ã³ã¿ã€ã ã®çžäºäœçšãã©ã®ããã«åœ¢æãããã瀺ããŠããŸãã
æé©åè§£é€ã®é£éã¯ããããåŒãèµ·ãããã³ã³ããŒãã³ãã ãã«çãŸãããšã¯çšã§ããå ±æã€ã³ã¿ãŒãã§ãŒã¹ãå岿¡ä»¶ããŸãã¯åºã䜿çšãããŠããã¯ã©ã¹ã®ããããªå€æŽã§ããè€æ°ã®ã¢ãžã¥ãŒã«ã«ãããææ©çãã¹ãç¡å¹ã«ããå¯èœæ§ããããŸããç¹ã«ãã€ã³ã©ã€ã³åãå€çšããããšã§ãããã®äŸåé¢ä¿ãæ¡å€§ããå Žåã«é¡èã§ãããã®æåã¯ãå¶åŸ¡ãããŒã«é¢ããèå¯ã§æ€èšãããäžå®å®æ§ãšé¡äŒŒããŠããã絡ã¿åã£ãå®è¡ãã¹ãäºæž¬äžå¯èœæ§ãå¢å¹ ãããŸããã¢ãžã¥ãŒã«ããµãŒãã¹éã§ã®çžäºäœçšãæ¡å€§ããã«ã€ããŠãé£éçãªåœ±é¿ã¯ããé¡èã«ãªãããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã§èª¬æãããŠããæ§é çãªæžå¿µãåæ ããŠããŸãã
JVMã®å®å®æ§ã匷å
Smart TS XL ã¯ãå€§èŠæš¡ã·ã¹ãã å šäœã§ JVM ã®æé©åè§£é€ãéãã«ããªã¬ãŒããæ§é çãªäŸåé¢ä¿ãæããã«ããŸãã
ä»ããæ¢çŽ¢ããGraalVMãOpenJ9ãªã©ã®é©å¿åã©ã³ã¿ã€ã ãã©ãããã©ãŒã ã¯ãã³ã³ãã€ã«éå±€ãã€ã³ã©ã€ã³åæŠç¥ãéžæããéã«ãããã¡ã€ãªã³ã°ãã£ãŒãããã¯ã«äŸåããããããããã®åœ±é¿ãå¢å¹ ãããŸããåŸæ¥ã®ãã¿ãŒã³ãäžæŽåãªåäœãåŒãèµ·ãããšããããã¡ã€ãªã³ã°ããŒã¿ãäžå®å®ã«ãªããåã³ã³ãã€ã«ãç¹°ãè¿ãå¿ èŠã«ãªããŸãããããã®åæ ã¯ãç¶æ¿ãããæ§é ãäžå®å®ãªã©ã³ã¿ã€ã çµæãçã¿åºããéæšå¥šã³ãŒãã®ãªã¹ã¯ãã§ææãããŠããå£åã·ããªãªã«äŒŒãŠããŸããåæ§ã®ã¢ãŒããã¯ãã£äžã®ãªã¹ã¯ã¯ã ãè¿ä»£åããŒã«ã®æŠèŠãã«ã瀺ãããŠãããããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã«ãããæ§é ã®æç¢ºãã®éèŠæ§ã匷調ãããŠããŸãã
ãããã®åé¡ã«å¯ŸåŠããã«ã¯ãã³ã³ãã€ã©ã®åå¥èª¿æŽã ãã§ã¯äžååã§ããæé©åã®é£éçãªäœäžã¯ãéåžžãåŒã³åºãã°ã©ãã®åœ¢ç¶ãçµåãã¿ãŒã³ãããŒã¿ãããŒã®çžäºäœçšãªã©ãã¢ããªã±ãŒã·ã§ã³å ã®æ·±ãæ§é çé¢ä¿ã«èµ·å ããŸãããããã®é¢ä¿ãææ¡ããã«ãã¥ãŒãã³ã°ãè¡ããšã衚é¢çãªçç¶ã«å¯ŸåŠããã ãã§æ ¹æ¬çãªäžå®å®æ§ãè§£æ¶ãããŸããã广çãªè§£æ±ºçã¯ãéçè§£æãã©ã³ã¿ã€ã ãã¬ã¡ããªãããã³ããã°ã¬ã¹ãããŒã®ææ³ãšåæ§ã®æ§é åããã修埩æè¡ãçµã¿åãããããšã§ãããã®çµã¿åãããã¢ãããŒãã«ãããããããã¹ãå®å®åããããªã¢ãŒãã£ãã¯ã®äžå®å®æ§ã軜æžãããå€§èŠæš¡ãªJVMç°å¢ã«ãããJITã®äºæž¬å¯èœæ§ãåäžããŸãã
å€§èŠæš¡ã¢ããªã±ãŒã·ã§ã³ã«ããã JIT éæé©åã«ã¹ã±ãŒãã®æ ¹æº
å€§èŠæš¡ãª JVM ã¢ããªã±ãŒã·ã§ã³ã¯ãJIT ã³ã³ãã€ã©ãææ©çãªä»®å®ã圢æããæ¹æ³ã«çŽæ¥åœ±é¿ãäžããæ§é çãåäœçãããã³ã¢ãŒããã¯ãã£çç¹æ§ãèç©ããŸãããããã®ä»®å®ã¯ãã€ã³ã©ã€ã³åã®æ·±ãããããã¡ã€ãªã³ã°ã®å®å®æ§ãã¬ãŒãã®é 眮ãããã³éå±€ææ Œã®æ±ºå®ã決å®ããŸãããããã®çžäºäœçšãèæ ®ããã«ã³ãŒããé²åãããšãJIT ã¯åŒã³åºããã§ãŒã³å šäœã«äŒæããç¡å¹åã«å¯ŸããŠãŸããŸãè匱ã«ãªããŸãããã®åäœã¯ããœãããŠã§ã¢ ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§èª¬æãããŠããäŸåé¢ä¿ã®æåºŠã«äŒŒãŠãããç®ã«èŠããªãé¢ä¿ãäºæž¬äžå¯èœãªå®è¡çµæãçã¿åºããŸããçžäºæ¥ç¶ãããã¢ãžã¥ãŒã«ã®æ°ãå¢ããã«ã€ããŠãåäžã®åäœã®å€åã«ãã£ãŠä»¥åã«æé©åããããã¹ãäžå®å®ã«ãªãå¯èœæ§ãå€§å¹ ã«é«ãŸããŸãã
ããªã¢ãŒãã£ãºã ãå¶åŸ¡ãããŒã®è€éããã¢ãžã¥ãŒã«å¢çã®çžäºäœçšã¯ãæé©åè§£é€ãã¿ãŒã³ãå¢å¹ ãããããšããããããŸããåŒã³åºãã°ã©ãã¯äžåäžã«é²åããã€ã³ã¿ãŒãã§ãŒã¹ã¯éè² è·ã«ãªãã以åã¯åçžã ã£ãç®æã«å®è¡æå€åãèç©ãããå¯èœæ§ããããŸããçµæãšããŠçããäžå®å®æ§ã¯ãå¶åŸ¡ãããŒã«é¢ããèå¯ã§èª¬æãããŠãã課é¡ãããªãã¡åå²ãæ§é çãªäžèŠåæ§ãäºæž¬äžå¯èœãªããã©ãŒãã³ã¹ã®å€åã«ã€ãªãããšãã課é¡ãåæ ããŠããŸãããããã£ãŠãæé©åè§£é€ã®é£éåå¿ã®åå ãçè§£ããã«ã¯ãã³ãŒãéã®é¢ä¿ãããŒã¿ãããŒãè² è·ãããã£ãç¶æ ã§ã®åçãªåäœãè©³çŽ°ã«ææ¡ããå¿ èŠããããŸãã
åºç¯å²ã«ãããè±æé©åã®è§ŠåªãšããŠã®é ãã倿 æ§
ããªã¢ãŒãã£ãºã ã¯ãJITããªããã£ãã€ãŒãŒã·ã§ã³ã«ã¹ã±ãŒãã®äžæ žçãªæšé²åã§ããããã¯ãã³ã³ãã€ã©ã芳枬ãããã¬ã·ãŒãåã«åºã¥ããŠææ©çãªä»®å®ãæ§ç¯ããããã§ãããããã¡ã€ãªã³ã°äžã«åŒã³åºããµã€ããã¢ãã¢ãŒãã£ãã¯ãŸãã¯ãã€ã¢ãŒãã£ãã¯ã§ãããšå€æããå Žåãã³ã³ãã€ã©ã¯ããã«å¿ããŠãã¹ãç©æ¥µçã«ã€ã³ã©ã€ã³åãŸãã¯æé©åããŸããããããå€§èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãæ°ãããµãã¿ã€ãã®å°å ¥ãåäœã®å¶çºçãªæ¡åŒµã1ã€ã§ãçºçããã°ã以åã¯å®å®ããŠããåŒã³åºããµã€ããã¡ã¬ã¢ãŒãã£ãã¯ã«å€åããå¯èœæ§ããããŸãããã®å€åã«ãããæ¢åã®ææ©çãªãã¹ãç¡å¹åãããJITã¯ã³ã³ãã€ã«æžã¿ã®ã³ãŒããç Žæ£ããæ°ããåååžã«åºã¥ããŠå®è¡ãåãããã¡ã€ãªã³ã°ããå¿ èŠãçããŸãã
é ããããªã¢ãŒãã£ãºã ã¯ãã¢ãžã¥ãŒã«æ§ãææ©çã«æ¡å€§ããã³ãŒãããŒã¹ã§ãã°ãã°çŸããŸããäŸãã°ãæ©èœéçºããŒã ã¯ãæ¢åã®ã€ã³ã¿ãŒãã§ãŒã¹ããããã«ãŒãå ã§ã©ã®çšåºŠé »ç¹ã«åºçŸããããçè§£ããã«ãæ°ããå®è£ ãå°å ¥ããããšããããŸãããŸããã©ã³ã¿ã€ã ãã¬ãŒã ã¯ãŒã¯ã¯ãéçã¬ãã¥ãŒã§ã¯ç¢ºèªã§ããªãæ¹æ³ã§èŠããäžã®åã®å€æ§æ§ãæ¡å€§ãããããã·åãã¢ããã¿ãçæããããšããããŸããããããå°ããªå€æŽã¯ãæšæž¬ã«åºã¥ãä»®å®ãå€ããåã³ã³ãã€ã«ãµã€ã¯ã«ã®ç¹°ãè¿ããåŒãèµ·ãããŸãã
ãããã倿 æ§ã®å€åãçè§£ããã«ã¯ãã³ãŒãããŒã¹å šäœã«ãããåã®äœ¿çšãã¿ãŒã³ãšã¬ã·ãŒããŒã®ååžã調æ»ããå¿ èŠããããŸããæ§é åæã¯ãã€ã³ã¿ãŒãã§ãŒã¹å¢çãããã©ãŒãã³ã¹ã«éèŠãªã«ãŒããšäžèŽããç®æãç¹å®ããã®ã«åœ¹ç«ã¡ãŸããã©ã³ã¿ã€ã åæã¯ãå®éã®ã¯ãŒã¯ããŒãã«ãããåã®èšåŒµãæããã«ããã®ã«åœ¹ç«ã¡ãŸãããããã®èŠç¹ãçµã¿åãããããšã§ã倿 æ§ã®å¢å ã®åºãããæããã«ãªããããŒã ã¯å®å®ãããªãã¡ã¯ã¿ãªã³ã°ãã¹ãç¹å®ã§ããŸãããã®ã¢ãããŒãã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã§èª¬æãããŠããå¯èŠæ§ã®èª²é¡ãåæ ããŠãããã¢ãžã¥ãŒã«éã®é¢ä¿ããããã³ã°ããããšã§ãé ããå®è¡ãã€ããã¯ã¹ãæç¢ºã«ããŸããæå³ããªã倿 æ§ãæžãããããã€ã³ã¿ãŒãã§ãŒã¹å¢çãåç·šæãããããããšã§ãçµç¹ã¯é »ç¹ãªJITç¡å¹åãé²ããäºæž¬å¯èœãªå®è¡ãããã¡ã€ã«ãç¶æã§ããŸãã
ã€ã³ã©ã€ã³å±éã®æ·±ããšã³ãŒã«ã°ã©ãã®åœ¢ç¶ãéæé©åã«ã¹ã±ãŒãã«äžãã圱é¿
ã€ã³ã©ã€ã³å±éã¯JITã³ã³ãã€ã©ã«ãããæã匷åãªæé©åã®äžã€ã§ãããåŒã³åºããªãŒããŒãããã宿°äŒæããããŠãããªãææ©çåæã®æé€ãå¯èœã«ããŸããããããã€ã³ã©ã€ã³å±éã¯éæé©åã€ãã³ãã®åœ±é¿ç¯å²ãæ¡å€§ãããŸããæ·±ãã€ã³ã©ã€ã³åãããåŒã³åºãã°ã©ãã«è€æ°ã®åŒã³åºãå ããå°ãããä»®å®ãåã蟌ãŸããŠããå Žåãããããã®ä»®å®ãç¡å¹ã«ãªããšãã³ã³ãã€ã«ããããããã¯å šäœãç Žæ£ãããŸããã€ã³ã©ã€ã³ãã§ãŒã³ãåºç¯ã§ããã°ããã»ã©ãåºç¯å²ã«ãããéæé©åã®ãªã¹ã¯ã¯é«ãŸããŸãã
ã³ãŒã«ã°ã©ãã®æ§é ã¯ããããã®åœ±é¿ãã©ã®çšåºŠåã¶ããæ±ºå®ããäžã§éèŠãªåœ¹å²ãæãããŸããã¡ãœããåŒã³åºãã®é·ãç·åœ¢ãã§ãŒã³ãå«ãããããã¹ã¯ãã€ã³ã©ã€ã³å±éãé²ãã«ã€ããŠæšæž¬çãªä»®å®ãèç©ããããããç¹ã«åœ±é¿ãåãããããªããŸããã€ã³ã©ã€ã³ã°ã©ãã®å€åŽã®å±€ã«ããã¡ãœããã«å°ããªå€æŽãå ããã ãã§ããæ·±ããã¹ãããããããã«ãŒãã«ç¡å¹åãäŒæããå¯èœæ§ããããŸããéã«ãå¹ åºãåå²ãäžå®å®ãªãã¿ãŒã³ãå«ãã³ãŒã«ã°ã©ãã¯ãã€ã³ã©ã€ã³å±éã®æ±ºå®ãå šäœçã«è€éã«ããã³ã³ãã€ã©ããããã¡ã€ãªã³ã°ã¬ãŒãã«å€§ããäŸåããããã«ãªããŸãã
å€ãã®ããŒã ã¯ãããããã¹å ã«ãŠãŒãã£ãªãã£ã¡ãœãããç¹°ãè¿ã远å ããããäžè²«æ§ã®ãããããã¡ã€ãªã³ã°ãæãªãåå²ãå°å ¥ãããããããšã§ãæå³ããã€ã³ã©ã€ã³å±éãäžå®å®ã«ããŠããŸããããã¯ãå®è¡ææé©åã®æåãèæ ®ããã«éå±€åãé²åããŠããã¬ã¬ã·ãŒã³ãŒãããŒã¹ã§ç¹ã«ããèŠãããŸãããã®çµæãã€ã³ã©ã€ã³å±éã®äžå®å®æ§ããéå±€ã®ææ Œãšæé©åè§£é€ã®ãµã€ã¯ã«ã®ç¹°ãè¿ããåŒãèµ·ãããŸãã
åŒã³åºãã°ã©ãã®ã©ã®é åãã€ã³ã©ã€ã³åã®æåºŠãæãé«ãããç¹å®ããã«ã¯ãéçè§£æãšå®è¡æãã¿ãŒã³èгå¯ãçµã¿åãããå¿ èŠããããŸããæ§é è§£æã¯ãã©ã®ã¡ãœãããã³ã¢ãšãªãããããã¹ã圢æãããã倿ããã®ã«åœ¹ç«ã¡ãå®è¡æããŒã«ã¯ãã³ã³ãã€ã©ãã³ã³ãã€ã«æžã¿ãã¬ãŒã ãç¹°ãè¿ãç Žæ£ããç®æãæããã«ããŸããåŸãããç¥èŠã¯ãçžäºæ¥ç¶ãããã³ã³ããŒãã³ãéã®å¢çã®æç¢ºããšäºæž¬å¯èœãªåäœãéèŠãããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã«èŠãããæ§é çèæ ®äºé ãåæ ããŠããŸãã
äžå®å®ãªãããã¡ã€ãªã³ã°ããŒã¿ãç¹°ãè¿ãéå±€é·ç§»ãåŒãèµ·ãã圹å²
éå±€åã³ã³ãã€ã«ã¯ãå®è¡é »åºŠãåååžãåå²ç¢ºçãæãããããã¡ã€ãªã³ã°ããŒã¿ã«å€§ããäŸåããŸãããã®ããŒã¿ãå®å®ããŠããå ŽåãJITã¯ã¡ãœãããäžäœå±€ã«ææ Œãããæé©åããããã·ã³ã³ãŒããçæã§ããŸãããããããããã¡ã€ãªã³ã°ããŒã¿ãã¯ãŒã¯ããŒãããªã¯ãšã¹ãã¿ã€ãããŸãã¯å®è¡ç°å¢éã§å€åãããšãJITã¯å±€éã§æ¯åããå¯èœæ§ããããŸããæ¯åãçºçãããã³ã«ãæé©åè§£é€ã®ãªã¹ã¯ãé«ãŸããŸãã
äžå®å®ãªãããã¡ã€ãªã³ã°ã¯ãæ¬çªç°å¢ãšãã¹ãç°å¢ã®éã§å€§ããç°ãªããªã¯ãšã¹ããã¿ãŒã³ãå®è¡ãã¹ã®äžäžèŽããçããããšããããããŸããåæè² è·äžã§ã¯ãããã«èŠããã¡ãœããããçŸå®ã®ãã©ãã£ãã¯äžã§ã¯å€æ§ãªå ¥åãåãåãå¯èœæ§ããããåå²äºæž¬ãåã®äœ¿çšã«é¢ããæ³å®ã厩ããããšããããŸããéã«ãã³ãŒã«ããšèªèãããŠããã¡ãœãããããããã€ã¡ã³ãã®å€æŽãã¯ãŒã¯ããŒãã®ã·ããã«ãã£ãŠäºæãããããã«ãªãããšããããŸãããããã®äžäžèŽã«ãããJITã¯ãããã¡ã€ãªã³ã°æ å ±ãç¹°ãè¿ãç Žæ£ããæé©åãµã€ã¯ã«ãåéããããåŸãªããªããŸãã
ã¬ã¬ã·ãŒã³ãŒãã¯ãå®è¡ããšã«å€§ããç°ãªãæ¡ä»¶ãããŒã¿ã¢ã¯ã»ã¹ãã¿ãŒã³ããªãã¬ã¯ã·ã§ã³ã®äœ¿çšæ³ãåã蟌ãããšã§ãäžå®å®æ§ããããããŸããåå²ã®éå°ãªäœ¿çšããã¬ãŒã ã¯ãŒã¯ãŠãŒãã£ãªãã£ãžã®é »ç¹ãªå§è²ã¯ããããã¡ã€ãªã³ã°ã®äžå®å®æ§ãæªåãããŸãããããã®æ¡ä»¶ã¯ãJITãä¿¡é Œæ§ã®é«ãä»®å®ãçµ±åããèœåãæãªããçµæãšããŠããã©ãŒãã³ã¹ã®äžå®å®åã«ã€ãªãããŸãã
ãããã¡ã€ãªã³ã°ã®äžå®å®æ§ã®åå ãçè§£ããã«ã¯ãæ§é ãã¿ãŒã³ãšå®éã®ã©ã³ã¿ã€ã ãã¬ãŒã¹ãé¢é£ä»ããå¿ èŠããããŸãããŸããã¯ãŒã¯ããŒãã®åœ¢ç¶ãç°å¢éã§JITã®æææ±ºå®ã«ã©ã®ããã«åœ±é¿ããããç£èŠããããšãå¿ èŠã§ãããã®ã¢ãããŒãã¯ãç¶æ¿ãããæ§é ãäºæž¬äžå¯èœãªã©ã³ã¿ã€ã åäœãåŒãèµ·ãããšãããéæšå¥šã³ãŒãã®ãªã¹ã¯ã§èª¬æãããŠããè¿ä»£åã®æŽå¯ã«äŒŒãŠããŸããæ§é çãªãªãã¡ã¯ã¿ãªã³ã°ãããããã¹ã®åèšèšã«ãã£ãŠãããã¡ã€ãªã³ã°å ¥åãå®å®åãããããšã§ãéå°ãªãã£ã¢å€æŽãé²ããå šäœçãªå®è¡ã®äžè²«æ§ãåäžãããããšãã§ããŸãã
ã¢ãžã¥ãŒã«éã®äŸåé¢ä¿ãéæé©åã®åœ±é¿ãå¢å¹ ãããä»çµã¿
å€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã ã§ã¯ãã¢ãžã¥ãŒã«ãã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ã®åã¬ã€ã€ãŒã«äŸåé¢ä¿ãèç©ãããŸãããããã®äŸåé¢ä¿ã¯ããœãŒã¹ã³ãŒãã¬ãã«ã§ã¯ç¡é¢ä¿ã«èŠããã³ã³ããŒãã³ãéã«éæ¥çãªé¢ä¿ãäœãåºããJITã®åäœã«åœ±é¿ãäžããŸããåºã䜿çšãããŠããã¢ãžã¥ãŒã«ãè€æ°ã®ã€ã³ã©ã€ã³ãã§ãŒã³ã®äžéšã«ãªã£ãããå ±éã®ãŠãŒãã£ãªãã£ã¬ã€ã€ãŒãšããŠæ©èœããããããšããã®åäœãåãããã¡ã€ã«ã倿Žããããšãã·ã¹ãã å šäœã®æé©åãç¡å¹ã«ãªãå¯èœæ§ããããŸãã
ããŒã ãè€æ°ã®ã©ã€ãã©ãªã«è²¬ä»»ã忣ãããæææš©ã調æŽãå®å®ããŠããªããšãã¢ãžã¥ãŒã«éã®å€åæ§ãé«ãŸããŸããç°ãªãã¢ãžã¥ãŒã«ãæ°ããåãå°å ¥ããããã¡ãœããã·ã°ããã£ã調æŽããããåå²åäœã倿ŽããããããšããããããäŸåããã€ã³ã©ã€ã³ãã¹ã«æ³¢åããå¯èœæ§ããããŸããJITã³ã³ãã€ã©ã¯ã³ãŒã«ã°ã©ããå šäœçã«æ±ãããããŠãŒãã£ãªãã£ã¢ãžã¥ãŒã«ã«ãããããããªå€æŽã§ããã倿°ã®æé©åããããã¬ãŒã ã«æ³¢åããå¯èœæ§ããããŸãã
ã¬ã¬ã·ãŒã·ã¹ãã ã®è¿ä»£åã«åãçµãéãè€éãªã¢ãžã¥ãŒã«éã®çžäºäœçšãæéãšãšãã«èç©ãããæé©åã®è匱æ§ãçã¿åºããšãããã¿ãŒã³ããã°ãã°æããã«ãªããŸããã¢ãžã¥ãŒã«ã®å¢çãæç¢ºã«ããããäŸåé¢ä¿ã®å¹ ãçž®å°ãããããææ³ã¯ãJITïŒãžã£ã¹ãã€ã³ã¿ã€ã ïŒåäœãå®å®ãããæšæž¬ã«åºã¥ãä»®å®ã®ç¯å²ãçž®å°ããã®ã«åœ¹ç«ã¡ãŸãããã®èãæ¹ã¯ãã·ã¹ãã å šäœã«ãããæ§é çãªæç¢ºãã®éèŠæ§ã匷調ããè¿ä»£åããŒã«ã®æŠèŠã§èª¬æãããŠããè¿ä»£åæŠç¥ãšäžèŽããŠããŸãã
ã¢ãžã¥ãŒã«éã®äŸåé¢ä¿ãšããããããããã¹ã«äžãã圱é¿ããããã³ã°ããããšã¯ãæé©åè§£é€ã€ãã³ãã®åœ±é¿ãæã倧ããå Žæãäºæž¬ããããã«äžå¯æ¬ ã§ããäŸåé¢ä¿ã®å¯åºŠãäœæžãããªã¹ã¯ã®é«ãã¢ãžã¥ãŒã«ãåé¢ããããšã§ãçµç¹ã¯åºç¯å²ã«ãããç¡å¹åã«ã¹ã±ãŒããé²ããããã©ãŒãã³ã¹ã®äºæž¬å¯èœæ§ãåäžãããããšãã§ããŸãã
é »ç¹ãªåã³ã³ãã€ã«ã匷ããé ããããªã¢ãŒãã£ãã¯ãããã¹ãããã®ç¹å®
ææ°ã® JIT ã³ã³ãã€ã©ã¯ãç¹ã«ã¯ãŒã¯ããŒãã«ãã£ãŠåäœãå€åããåçã¢ããªã±ãŒã·ã§ã³ããªããžã§ã¯ãæåã¢ããªã±ãŒã·ã§ã³ã«ãããŠãã³ãŒã ãã¹ãæé©åããããã«å®å®ããåãã£ãŒãããã¯ã«äŸåããŠããŸããã³ã³ãã€ã©ã¯ç¹å®ã®åŒã³åºãç®æã§èŠ³æž¬ãããåã«åºã¥ããŠæšæž¬çãªä»®å®ãæ§ç¯ãããããããªã¢ãŒãã£ãºã ãéèŠãªèŠçŽ ãšãªããŸãããããã®ç®æãåçžããå€çžããããã¯è¶ å€çžãžãšé²åãããšã以åã®æé©åãç¡å¹ã«ãªããåºç¯å²ã«ãããåã³ã³ãã€ã«ãããªã¬ãŒãããŸãããããã®çžäºäœçšã®æ§é çãªæåºŠã¯ããœãããŠã§ã¢ ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§è°è«ãããŠããæŽå¯ãšå¯æ¥ã«é¢é£ããŠãããã³ã³ããŒãã³ãéã®åŸ®åŠãªé¢ä¿ãã©ã³ã¿ã€ã åäœã«åœ±é¿ãäžããŸãã倿°ã®è²¢ç®è ãããå€§èŠæš¡ãªã³ãŒã ããŒã¹ã§ã¯ãã€ã³ã¿ãŒãã§ãŒã¹ãé²åããæ°ããå®è£ ã远å ãããã«ã€ããŠãé ããåæ¡åŒµãæå³ããçºçããããšããããããŸãã
ãšã³ã¿ãŒãã©ã€ãºç°å¢ã§ã¯ãé »ç¹ãªã¢ãŒããã¯ãã£ã®éå±€åããµãŒãããŒãã£ã©ã€ãã©ãªãšã®çµ±åãããã³åçãªãã¬ãŒã ã¯ãŒã¯åäœã«ããããããã®èª²é¡ãããã«æ·±å»åããŸãããããã·ããã³ã¬ãŒã¿ãããã³ã©ã³ã¿ã€ã çæã¢ããã¿ã¯ãåçŽãªéçæ€æ»ã§ã¯èŠããªãæ¹æ³ã§åã·ã°ããã£ãæ¡åŒµããŸãããããã®è¿œå åã¯ãåŒã³åºããµã€ãã®å®å®æ§ã«é¢ããã³ã³ãã€ã©ã®æ³å®ã倿ŽããŸããåšèŸºã¢ãžã¥ãŒã«ã§å°å ¥ãããåäžã®æ°ãããµãã¿ã€ãã§ããã以åã¯å®å®ããŠããŠé«åºŠã«æé©åãããåŒã³åºããµã€ãããäºæããã¡ã¬ã¢ã«ãã£ãã¯ãªãããã¹ãããã«å€ããŠããŸãå¯èœæ§ããããŸãããããã®åé¡ã¯ãå¶åŸ¡ãããŒã®æŽå¯ã§èª¬æãããŠããè€éæ§ã®å¢å€§ãã¿ãŒã³ã«äŒŒãŠããã忣åäœãšåå²ã®å€åãäºæž¬å¯èœæ§ãäœäžãããŸãã
ã³ãŒã«ãµã€ããããã¡ã€ãªã³ã°ã«ããåã€ã³ãã¬ã®æ€åº
åã®ã€ã³ãã¬ã¯ãåäžã®åŒã³åºããµã€ãã§èŠ³æž¬ãããã¬ã·ãŒããŒåã®æ°ãJITãæé©åå¯èœãšå€æããç¯å²ãè¶ ããå Žåã«çºçããŸããã¬ã·ãŒããŒã®ååžãå«ããããã¡ã€ãªã³ã°ããŒã¿ã¯ããããã®å Žæãç¹å®ããäžã§äžå¯æ¬ ã§ããJVMç°å¢ã§ã¯ãéå±€åã³ã³ãã€ã«ã«ãã£ãŠæ§ã ãªãã§ãŒãºã§åãããã¡ã€ã«ãååŸããããããã®ãããã¡ã€ã«ã«åºã¥ããŠã€ã³ã©ã€ã³å±éãã«ãŒãå±éã宿°ç³ã¿èŸŒã¿ãªã©ã®æé©åãè¡ãããŸããã¬ã·ãŒããŒã®å€æ§æ§ããããå€ãè¶ ãããšãã³ã³ãã€ã©ã¯åŒã³åºããµã€ãã®æé©åãæ§ããããå®è¡äžã«æé©åããããã¬ãŒã ãå ã«æ»ãããšããããŸãããã®åäœã¯ããŠãŒãã£ãªãã£ã¢ãžã¥ãŒã«ããã¬ãŒã ã¯ãŒã¯å¢çãåçã«çæããããããã·ãªã©ã§ããèŠãããŸãã
æ€åºã«ã¯ãJFR èšé²ãéå±€é·ç§»ãã°ãªã©ã®ãããã¡ã€ãªã³ã°ææç©ã®çãçµã£ãåæãå¿ èŠã§ããããŒã ã¯ãããã ã¡ãœãããšé«ãåä¿¡è 倿§æ§ãé¢é£ä»ããããšã§ãäžå®å®ãªåŒã³åºãç®æãç¹å®ã§ããŸãããããã®ãããã¹ãããã¯ãã¢ããªã±ãŒã·ã§ã³ ã³ãŒãã§ã¯ãªããè€æ°ã®ãµãŒãã¹ãæäŸããå ±æã¢ãžã¥ãŒã«ã«ååšããããšããããããŸããåŒã³åºãç®æãšã¢ãžã¥ãŒã«å¢çã®æ§é çãªé¢ä¿ã¯ããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã§è°è«ãããŠããæžå¿µäºé ãåæ ããŠãããã¢ãžã¥ãŒã«éã®äŸåé¢ä¿ã«ã¯æ éãªç®¡çãå¿ èŠã§ãã
ãããã¡ã€ãªã³ã°ã¯çŸå®çãªã¯ãŒã¯ããŒãã§å®æœããå¿ èŠããããŸããåæãã³ãããŒã¯ã§ã¯ãæ¬çªç°å¢ã§ééããåã®å€æ§æ§ãéå°è©äŸ¡ãããããšãå€ãããã§ããå®éã®ã¬ã·ãŒããŒãã¿ãŒã³ãææããããšã§ãã©ã®åŒã³åºããµã€ããããªã¢ãŒãã£ãºã ã«é¥ãããããã€åŸã«æ°ããåãã©ãã ãæ¥éã«åºçŸããããæããã«ãªããŸããã³ãŒãã®é²åã«ãã£ãŠåã®ã€ã³ãã¬ãçºçããå ŽåãããŒã ã¯ã€ã³ã¿ãŒãã§ãŒã¹ã®åè§£ãç¶æ¿ã®å¹ ã®çž®å°ããããã¯åã®å€æ§æ§ãå¶éããããã®ã·ãŒã«éå±€ã®å°å ¥ãæ€èšããå¿ èŠããããŸãã
ãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã®æ¡åŒµã«ãã£ãŠåœ¢æããã巚倧æ§é ãµã€ãã®èªè
ãªãã¬ã¯ã·ã§ã³ããã€ãã³ãŒãçæããããã¯å€§èŠæš¡ãªäŸåé¢ä¿ã°ã©ãã«äŸåãããã¬ãŒã ã¯ãŒã¯ã¯ãèšèšäžãã¡ã¬ã¢ãŒãã£ãã¯ãªåŒã³åºããµã€ããå°å ¥ããããšããããããŸããäŸåæ§æ³šå ¥ãã¬ãŒã ã¯ãŒã¯ãã·ãªã¢ã©ã€ãŒãŒã·ã§ã³ã©ã€ãã©ãªããããŠãããã·ããŒã¹ã®ã€ã³ã¿ãŒã»ãã¿ãŒã¯ãJITãå¹ççã«ãããã¡ã€ãªã³ã°ã§ããç¯å²ãè¶ ããŠåã·ã°ããã£ãæ¡åŒµããè€æ°ã®ã©ãããŒåãäœæããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯åæã¯ã©ã¹ãåçã«çæããJITã¯åã¯ã©ã¹ãäžæã®ã¬ã·ãŒããŒåãšããŠæ±ããŸããæéã®çµéãšãšãã«ããã®èç©ã«ãããåœåã¯å®å®ããŠããã¢ãã¢ãŒãã£ãã¯ãªç®æããã€ã³ã©ã€ã³åãç¹æ®åãé»ãã¡ã¬ã¢ãŒãã£ãã¯ãªãããã¹ããããžãšå€åããŠãããŸãã
èªèã«ã¯ãåçãªã¯ã©ã¹çæãã¿ãŒã³ãšåŒã³åºããµã€ãã®åäœãé¢é£ä»ããå¿ èŠããããŸããã¯ã©ã¹ããŒãã€ãã³ããšåé¢ä¿ãæããã«ããããŒã«ã䜿çšãããšããµãŒãããŒãã£ã®æ¡åŒµãã€ã³ããç¹å®ã§ããŸããããã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã§åŒ·èª¿ãããŠãããã©ââã¯ãã£ã¹ãšäžèŽããŠãããã¬ã€ã€ãŒéã®é¢ä¿ã远跡ããããšã§ãäžèŠåããã«ããå®è¡ãã¿ãŒã³ãæããã«ãªããŸããã¡ã¬ã¢ã«ãã£ãã¯ãµã€ããç¹å®ããããšããšã³ããªãã€ã³ããåèšèšãããããã¬ãŒã ã¯ãŒã¯ãšã®çžäºäœçšãå°çšã®ã¢ããã¿ã«åé¢ãããããŠãåã®æ¡åŒµãããããã¹ã«åœ±é¿ãäžããªãããã«ããå¿ èŠãããå ŽåããããŸãã
ããŒã ã¯ãã©ã³ã¿ã€ã çæãããã·ã®æ°ãæžãããããã¬ãŒã ã¯ãŒã¯ãæäŸããåçãã£ã¹ãããã«ä»£ããã«ã¹ã¿ã ãã£ã¹ãããã¡ã«ããºã ãå°å ¥ããããšã§ããããã®ãµã€ããå®å®åãããããšãã§ããŸããå¯èœã§ããã°ãéçé ç·ãäºåèšç®ãããã«ãã¯ã¢ããããŒãã«ããªãã¬ã¯ã·ã§ã³ããŒã¹ã®è§£æ±ºã«ä»£çšã§ããŸãããããã®æŠç¥ã¯ãäºæž¬å¯èœãªåãã£ãŒãããã¯ãç¶æããã¢ããªã±ãŒã·ã§ã³å šäœã®åã³ã³ãã€ã«ã€ãã³ãã®é »åºŠãåæžããã®ã«åœ¹ç«ã¡ãŸãã
å°ããªã€ã³ã¿ãŒãã§ãŒã¹ã®å€æŽãé ããããªã¢ãŒãã£ãºã ãæããã«ããä»çµã¿ãçè§£ãã
å ±æã€ã³ã¿ãŒãã§ãŒã¹ãæœè±¡ã¯ã©ã¹ãžã®å°ããªå€æŽã¯ãJITã®å®å®æ§ã«æå³ããªã圱é¿ãåãŒãå¯èœæ§ããããŸãããã䜿çšãããéå±€æ§é ã«æ°ããã¡ãœãããå®è£ ãç»å Žãããšãã³ã³ãã€ã©ã¯åŒã³åºãå ã®åäœã«é¢ããæ³å®ãåè©äŸ¡ããå¿ èŠããããŸããæ°ããå®è£ ãé »ç¹ã«åŒã³åºãããªãå Žåã§ããJITã¯æœåšçãªã¬ã·ãŒããç¡èŠã§ããªãããããã®ååšã¯ææ©çãªãã¹ã«åœ±é¿ãäžããŸãããã®çŸè±¡ã¯ãå ±ææœè±¡åãæ¥éã«é²åããã¢ãŒããã¯ãã£ã§ã¯ç¹ã«åé¡ãšãªããŸãã
ãããã®å¯äœçšãçè§£ããã«ã¯ãã€ã³ã¿ãŒãã§ãŒã¹ãã¢ãžã¥ãŒã«å¢çãè¶ããŠã©ã®ããã«äŒæãããããŸããç¹å®ã®æœè±¡åã«äŸåããã³ã³ããŒãã³ãã®æ°ãè©äŸ¡ããå¿ èŠããããŸãããœãŒã¹ã¬ãã«ã§ã¯å€ç«ããŠããããã«èŠãã倿Žã§ããç¡é¢ä¿ãªã¢ãžã¥ãŒã«ã«ãŸããã倿°ã®åŒã³åºãç®æã«åœ±é¿ãäžããå¯èœæ§ããããŸããç¶æ¿ããªãŒãšã¢ãžã¥ãŒã«å¢çã®æ§é ã調æ»ããããšã§ãã€ã³ã¿ãŒãã§ãŒã¹æ¡åŒµã®ãªã¹ã¯ãã©ãã«äŒæããããæããã«ãªããŸãããããã®ç¥èŠã¯ãã¢ãŒããã¯ãã£ã®ç¡ç§©åºãªæ¡å€§ã管çããããšã®éèŠæ§ã匷調ãããè¿ä»£åããŒã«ã®æŠèŠã§èª¬æãããŠããè¿ä»£åãã¿ãŒã³ã«äŒŒãŠããŸãã
é ããããªã¢ãŒãã£ãºã ãé²ãã«ã¯ãã€ã³ã¿ãŒãã§ãŒã¹ã®é²åãå¶åŸ¡ããæ°ããå®è£ ã®å°å ¥ãå¶éããå¿ èŠã«å¿ããŠæœè±¡åãåå²ããå¿ èŠããããŸããç¶¿å¯ãªã¬ããã³ã¹ã«ãããæ©èœãæ¡åŒµãããŠãããã©ãŒãã³ã¹ãéèŠãªãã¹ãå®å®ããç¶æ ãç¶æã§ããŸãã
äŸåé¢ä¿ã®åæ§ç¯ã«ãã倿 çæé·ã®ç·©å
ããªã¢ãŒãã£ãã¯ãªæ¡åŒµã¯ãå®è¡ãã¹ã®éèŠãªãã€ã³ãã«åºç¯ãªæœè±¡åãé 眮ããäŸåé¢ä¿æ§é ããçããããšããããããŸããæéã®çµéãšãšãã«ãããŒã ã¯æ°ããã€ã³ã¿ãŒãã§ãŒã¹ãå®çŸ©ããã®ã§ã¯ãªããæ¢åã®ã€ã³ã¿ãŒãã§ãŒã¹ãå®è£ ããããšã§æ°æ©èœã远å ããŸããããã«ããçµå床ãé«ãŸããåã°ã©ããæ¡å€§ããJITã®æ±ºå®ã«æªåœ±é¿ãåãŒããŸããããªã¢ãŒãã£ãã¯ãªãµã€ãã¯ãããŸãã«ãå€ãã®ã¢ãžã¥ãŒã«ãåãæäŸãããšã¡ã¬ã¢ãŒãã£ãã¯ã«ãªããJITã¯ãã£ã¹ãããã®æé©åèœåã倱ããŸãã
ç·©åçã¯ãããçãã€ã³ã¿ãŒãã§ãŒã¹ãã·ãŒã«åããŸãã¯æç€ºçãªãã£ã¹ãããããããå°å ¥ããããšã§ãäŸåé¢ä¿ã®å¹ ãçž®å°ããããšã«éç¹ã眮ããŠããŸããæœè±¡åãåå²ããããšã§ãJITã¯ããžãã¯ãç¹åãããåãããã¡ã€ã«ã®ã¹ã³ãŒããçž®å°ããåçžãŸãã¯äºçžã®åŒã³åºããã¿ãŒã³ãç¶æã§ããŸãããããã®æ¹åã¯ãããã°ã¬ã¹ãããŒã®å®è·µã§è°è«ãããŠããæ§é çãªèª¿æŽãåæ ããŠãããå¢çãåç·šæããããšã§ã·ã¹ãã ã®è匱æ§ã軜æžããŸãã
ãªãã¡ã¯ã¿ãªã³ã°ã«ã¯ããªãŒããŒããŒããããã€ã³ã¿ãŒãã§ãŒã¹ã®åå²ã䜿çšé »åºŠã®äœãå®è£ ã®åé¢ããããã¯åã®å€åãããããã¹ã«åœ±é¿ãäžããªãããã«ãµãŒãã¹å¢çãåæ§ç¯ããããšãªã©ãå«ãŸããŸããäŸåé¢ä¿ã®åç·šæã«ãããçµç¹ã¯JITã®å®å®æ§ãåãæ»ããå€§èŠæš¡ãªJVMãããã€ã¡ã³ãå šäœã®åã³ã³ãã€ã«é »åºŠãåæžã§ããŸãã
æ§é ã³ãŒãé¢ä¿ã«ããã€ã³ã©ã€ã³å±éã®äžå®å®æ§ã®ãããã³ã°
ã€ã³ã©ã€ã³åã¯ãææ°ã®JITã³ã³ãã€ã©ãè¡ãæã圱é¿åã®ããæé©åã®1ã€ã§ãããåæã«æãèåŒ±ãªæé©åã®1ã€ã§ããããŸããã³ã³ãã€ã©ãã¡ãœããã®ãã§ãŒã³ãã€ã³ã©ã€ã³åããéãã¬ã·ãŒãã®åãåŒæ°ã®ãã¿ãŒã³ãåå²ç¢ºçã«é¢ããæšæž¬çãªä»®å®ãåã蟌ã¿ãŸããäžæµã®åäœã«ããããªãããçããã ãã§ãããããã®ä»®å®ãç¡å¹ã«ãªããã€ã³ã©ã€ã³åãããé åå šäœãç Žæ£ãããå¯èœæ§ããããŸãããã®ãããããã©ãŒãã³ã¹ãå®å®ãããã«ã¯ãæ§é çãªã³ãŒãã®é¢ä¿æ§ãçè§£ããããšãäžå¯æ¬ ã§ããå€§èŠæš¡ãªã³ãŒãããŒã¹ã«ã¯ãå€ãã®å ŽåããŠãŒãã£ãªãã£ã¡ãœãããå ±ææœè±¡åããŸãã¯ã¢ãžã¥ãŒã«éåŒã³åºããã¹ã®æ·±ãéå±€ãå«ãŸããŠããããããã¯æéã®çµéãšãšãã«æ®µéçã«å€åããŸãããããã®æ§é ã¯ããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§èª¬æãããŠãããã®ãšåæ§ã®åäœãããŸããã€ãŸããçžäºæ¥ç¶ãããã³ã³ããŒãã³ãããåå¥ã«è©äŸ¡ã§ããªãåµçºçãªåäœãçã¿åºãã®ã§ãã
ã€ã³ã©ã€ã³åã®äžå®å®æ§ã¯ãã¬ã¬ã·ãŒæ§é ãæ¥éã«é²åããæ©èœã«ãã£ãŠãåŒã³åºãã°ã©ãã®äžäœã«äœçœ®ããã¡ãœããã®åäœã倿Žãããå Žåã«ç¹ã«é¡èã«ãªããŸããå°ããªã€ã³ã¿ãŒãã§ãŒã¹ã®å€æŽããã©ã³ãã®è¿œå ããŸãã¯è»œåŸ®ãªãªãã¡ã¯ã¿ãªã³ã°ã«ãã£ãŠãã¯ããäžæµã«åã蟌ãŸããåææ¡ä»¶ãäžå®å®ã«ãªãå¯èœæ§ããããŸããJIT ã¯ã¢ãŒããã¯ãã£ã®æå³ãèªèããªãããããããã¡ã€ãªã³ã° ããŒã¿ãšå®è¡æã®èŠ³æž¬ã«é Œãå¿ èŠããããŸãããã®ãªã¢ã¯ãã£ã ã¢ãã«ã§ã¯ããã¹ãäžã¯å®å®ããŠããããã«èŠããŠããå®éã®éçšãã©ãã£ãã¯äžã§ã¯åå²ããå®è¡ãã¹ã«å¯ŸããŠã·ã¹ãã ãè匱ã«ãªããŸãããã®åœ±é¿ã¯ãå¶åŸ¡ãããŒã®æŽå¯ã§èª¬æãããŠããã·ããªãªãšåæ§ã§ãåå²ã®ããªãšãŒã·ã§ã³ãšéå±€åãããããžãã¯ã«ãã£ãŠäºæž¬äžå¯èœãªå®è¡æç¹æ§ãçããŸãã
ãã£ãŒãã€ã³ã©ã€ã³ãã§ãŒã³ãç¡å¹åãå¢å¹ ããæ¹æ³
æ·±ãã€ã³ã©ã€ã³ãã§ãŒã³ã¯ãå®å®ããŠããå Žåã«ã¯ããã©ãŒãã³ã¹é¢ã§å€§ããªã¡ãªããããããããŸãã宿°äŒæããããã³ãŒãã®é€å»ãã«ãŒãã¢ã³ããŒãªã³ã°ã¯ãã¹ãŠãã¡ãœããå¢çãè¶ããå¯èŠæ§ã®æ¡åŒµã«ããæ©æµãåããŸããããããã€ã³ã©ã€ã³ãã§ãŒã³ãæ·±ããªãã»ã©ãäœããã®ä»®å®ãç Žç¶»ããå Žåã®åœ±é¿ç¯å²ã¯å€§ãããªããŸããåçãªåã·ãããäºæããªãåå²ããããã¯åŒã³åºãå ã®å€æŽã«ãã£ãŠããã§ãŒã³å šäœã®å®å šãªåã³ã³ãã€ã«ã匷å¶ãããå¯èœæ§ããããŸãããã®ç¡å¹åã®é£éçãªæ§è³ªã¯ãã€ã³ã¿ãŒãã§ãŒã¹ã髿°ŽæºãŠãŒãã£ãªãã£ãäžæµã®å€ãã®å©çšè ã«ãµãŒãã¹ãæäŸããã·ã¹ãã ã§æãé¡èã«ãªããŸãã
ããããé£éã¯ãå€ãã®å Žåãæå³ããããŠçºçããŸããéçºè ã¯ãã³ãŒãã®ã¢ãžã¥ãŒã«æ§ãæ¹åããããæç¢ºåã®ããã«ã¡ãœãããæœåºããããäžèŠç¡å®³ã«èŠããå°ããªãŠãŒãã£ãªãã£ãæ¿å ¥ãããããŸããããããã¯æšç§»çã«ããããã¹ã«çµã¿èŸŒãŸããŠããŸãããšããããŸããJITããããã®æ§é ãæé©åããéãäžèŠç¡é¢ä¿ãªã¢ãžã¥ãŒã«ã®å€æŽã§ãããè€æ°ã®ã¬ã€ã€ãŒã«ãããæé©åè§£é€ãåŒãèµ·ããå¯èœæ§ããããŸããäžå®å®ãªé£éãç¹å®ããã«ã¯ãåŒã³åºãã°ã©ãã®æ·±ããšã¡ãœããã®å€åæ§ã®äž¡æ¹ãè©äŸ¡ããå¿ èŠããããŸãããã®çš®ã®æ§é 調æ»ã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã®åæãšé¡äŒŒããŠãããæå³ããªãçµæãåé¿ããããã«ã¯ãäžæµãšäžæµã®é¢ä¿ãçè§£ããããšãäžå¯æ¬ ã§ãã
ç·©åçãšããŠã¯ãæ·±ããã§ãŒã³ãç°¡çŽ åããããé »ç¹ã«å€æŽãããã³ã³ããŒãã³ããåé¢ããããããã©ãŒãã³ã¹ãéèŠãªãã¹ã«ãããéå°ãªéå±€åãæå¶ãããããããšãæããããŸãããããã®èšèšèª¿æŽã«ãããæšæž¬ã«åºã¥ãä»®å®ã®ç¯å²ãå¶éãããåºç¯å²ã«ãããç¡å¹åã鲿¢ã§ããŸãã
ã€ã³ã©ã€ã³å±éã®æ±ºå®ãæå¶ããäžå®å®ãªåå²ãã¿ãŒã³
åå²äºæž¬å¯èœæ§ã¯ãJITãã¡ãœãããé©åãªã€ã³ã©ã€ã³å±éåè£ãšèŠãªããã©ããã«åœ±é¿ããŸããäºæž¬äžå¯èœãªåå²ãé »ç¹ã«å€åããåå²ãå«ãã¡ãœããã¯ããããã¡ã€ãªã³ã°ã®å®å®æ§ãäœäžãããŸãããã®çµæãã³ã³ãã€ã©ã¯ãããã®ã¡ãœãããã€ã³ã©ã€ã³å±éããªãããšãéžæããå Žåãããã°ãããã«æªãããšã«ãå®è¡äžã«ãšã©ãŒãçºçãã誀ã£ãä»®å®ã«åºã¥ããŠã€ã³ã©ã€ã³å±éããŠããŸãå ŽåããããŸããåå²ããžãã¯ã®ããããªå€æŽã§ãããã³ã³ãã€ã©ã®å®è¡é »åºŠã«é¢ããèªèãå€ããåºç¯å²ã«ãããæé©åã®éžè±ãåŒãèµ·ããå¯èœæ§ããããŸãã
ã¬ã¬ã·ãŒã·ã¹ãã ã«ã¯ãèšå®ãã©ã°ããªã¯ãšã¹ãã¡ã¿ããŒã¿ããããã¯åçã«ãŒãã£ã³ã°åäœã«ãã£ãŠé§åãããæ¡ä»¶ä»ãããžãã¯ãé »ç¹ã«å«ãŸããŠããŸãããããã®æ¡ä»¶ã¯ãã¹ãç°å¢ãšã®æŽåæ§ãæªãããããã¡ã€ãªã³ã°ã§èª€ã£ããã¿ãŒã³ãææãããŠããŸãå¯èœæ§ããããŸããå®äžçã®ãã©ãã£ãã¯ããã¹ãå ¥åãšç°ãªãå Žåãã³ã³ãã€ã©ã¯ã€ã³ã©ã€ã³ã¡ãœãããç¡å¹åãããããã¡ã€ãªã³ã°ãåéããŸããããããå€åã¯å®è¡ã«ãžãã¿ãŒããããããéå±€é·ç§»ã®é »åºŠãçŽæ¥çã«å¢å ãããŸãã
ãã®çŸè±¡ã¯ããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã§èª¬æãããŠããã¢ãŒããã¯ãã£ã®äžå®å®æ§ãšãã䌌ãŠãããã¢ãžã¥ãŒã«éã®è€éãªçžäºäœçšã«ãã£ãŠã·ã¹ãã åäœã«äžè²«æ§ããªããªããŸããçµç¹ã¯ãåå²ã®ç²åºŠã现ããããããäžå®å®ãªããžãã¯ãåé¢ããããã¡ãœãããåå²ãããããããšã§ãã³ã³ãã€ã«æã«å®å®ããããããã¹ãäºæž¬å¯èœã«ãªãããã«å¯ŸåŠã§ããŸãã
ã€ã³ã©ã€ã³å±éã®ææ©ãæã¡ç ŽãåŒã³åºãå ã®åäœã®é²å
åŒã³åºãå ã¡ãœããã®åäœã¯ãã€ã³ã©ã€ã³å±éã®å®å®æ§ã«å€§ãã圱é¿ããŸãããããã¡ã€ãªã³ã°äžã«å®å®ããŠããããã«èŠããã¡ãœããã§ãã£ãŠããæ°ããå®è£ ããã©ã°ããŸãã¯åäœãå°å ¥ããããšäžå®å®ã«ãªãå¯èœæ§ããããŸããnullãã§ãã¯ãåŒã³åºãã®ãã°èšé²ããªãã·ã§ã³ã®æ©èœãã©ã°ã®è¿œå ãšãã£ãäºçްãªå€æŽã§ãããäžæµã®ã€ã³ã©ã€ã³å±éãã§ãŒã³ã«åã蟌ãŸããåæãèŠããŠããŸãå¯èœæ§ããããŸãããããã倿Žã¯ãäžæµã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ãèæ ®ããã«è¡ãããããšããããããŸãã
ãããã£ãŠããªãã¡ã¯ã¿ãªã³ã°ã®éã«ã¯ã倿Žãããã¡ãœãããã€ã³ã©ã€ã³é åå ã«ã©ã®ãããã®é »åºŠã§é 眮ãããŠããããèæ ®ããå¿ èŠããããŸããããŒã ã¯ã倿Žé »åºŠãäŸåé¢ä¿ã®åºãããããããã¹å ã§ã®é 眮ã調ã¹ãããšã§ããªã¹ã¯ã®é«ãã¡ãœãããç¹å®ã§ããŸããé »ç¹ã«å€æŽãããã¡ãœããã¯ãæ·±ãã€ã³ã©ã€ã³ãã§ãŒã³ããåé¢ããããåå²ãšããªã¢ãŒãã£ãºã ãæå°éã«æããããã«åèšèšããå¿ èŠããããŸãããããã®æ§é çãªæ¹åã¯ãã·ã¹ãã ã®è匱æ§ã軜æžããããã«æç¢ºããšã¢ãžã¥ãŒã«å¶åŸ¡ãéèŠããããè¿ä»£åããŒã«ã®æŠèŠã§åŒ·èª¿ãããŠããäœç³»çãªæŽç·Žãåæ ããŠããŸãã
åŒã³åºãå ãå®å®åãããããšã§ãã³ãŒãã®é²åãµã€ã¯ã«å šäœã«ããã£ãŠæé©åã®æå¹æ§ãç¶æã§ããŸããé »ç¹ã«å€æŽãããã¡ãœãããããã©ãŒãã³ã¹ãéèŠãªé åå€ã«ããå Žåãéæé©åã®é »åºŠã¯èããäœäžããŸãã
ã¢ãžã¥ãŒã«å¢çãè¶ããæå³ããªãã€ã³ã©ã€ã³ããªã¢ã®ç¹å®
éå°ãªtry-catchãããã¯ãåæé åããªãã¬ã¯ã·ã§ã³åŒã³åºããå¯èŠæ§ãäžååãªã¢ãžã¥ãŒã«å¢çãè¶ããã¢ã¯ã»ã¹ãªã©ãç¹å®ã®ãã¿ãŒã³ã¯ã€ã³ã©ã€ã³å±éãå®å šã«åŠšããŸãããããã®éå£ã¯æ©èœçãªã»ãã³ãã£ã¯ã¹ãä¿è·ããŸãããJITãåé¿ã§ããªãæ§é çãªé害ããããããŸããæéã®çµéãšãšãã«ãæ£åšããã€ã³ã©ã€ã³å±ééå£ã¯ããããã¹ã®é床ãäœäžãããæé©åã®æ©äŒãæçåããã³ã³ãã€ã©ã®ææ©çã¬ãŒããžã®äŸå床ãé«ããŸãã
ã€ã³ã©ã€ã³ããªã¢ã¯ãã¢ãžã¥ãŒã«éã®çžäºäœçšãããã©ãŒãã³ã¹éèŠã®ãã¿ãŒã³ã§ã¯ãªããæ¢åã®ãã¿ãŒã³ã«åŸãã¢ãŒããã¯ãã£éå±€åããçããããšããããããŸããäŸãã°ãå ±æã©ã€ãã©ãªå ã®ãŠãŒãã£ãªãã£ã¯ã©ã¹ã«ã¯ãã€ã³ã©ã€ã³åã劚ããæ€èšŒããã°èšé²ãäºææ§ããžãã¯ãå«ãŸããŠããå ŽåããããŸãããããã®ãŠãŒãã£ãªãã£ããããå®è¡ã·ãŒã±ã³ã¹ã®éäžã«äœçœ®ãããšããããã«äŸåãããã¹ãæé©åããã³ã³ãã€ã©ã®èœåãå¶éãããŸãã
ã€ã³ã©ã€ã³ããªã¢ãç¹å®ããã«ã¯ãåŒã³åºããã§ãŒã³ã®æ§é è©äŸ¡ãšãã¢ãžã¥ãŒã«å¢çãJITã®æ±ºå®ã«ã©ã®ããã«åœ±é¿ããããçè§£ããå¿ èŠããããŸãããã®è©äŸ¡ã¯ãå€ãã®å Žåãããã°ã¬ã¹ãããŒã®ãã©ã¯ãã£ã¹ã§èª¬æãããŠããææ³ãšåæ§ã®èãæ¹ã«åºã¥ããŠããŸããã€ãŸããæ©èœå¢çãåç·šæããããšã§ãäžè²«æ§ãåäžããäºæããªãã·ã¹ãã éã®çžäºäœçšã軜æžããããšããããšã§ãã
ã€ã³ã©ã€ã³ããªã¢ã®ãªãã¡ã¯ã¿ãªã³ã°ã«ã¯ãå¿ èŠã ãäžå®å®ãªããžãã¯ã®åé¢ããŠãŒãã£ãªãã£ã®åœ¹å²ã®åå²ããããã¯ããã©ãŒãã³ã¹éèŠã®æäœã®ããã®å°çšã®é«éãã¹ã®å°å ¥ãªã©ãå«ãŸããŸãããããã®å¢çãæç¢ºã«ããããšã§ãçµç¹ã¯ã€ã³ã©ã€ã³åŠçã®äžè²«æ§ãå埩ããåé¿å¯èœãªæé©åè§£é€ã€ãã³ããåæžã§ããŸãã
GraalVMãšOpenJ9ã«ãããéå±€åã³ã³ãã€ã«ã®ã¹ã©ãã·ã¥ã®èšºæ
éå±€åã³ã³ãã€ã«ã¯ãã¡ãœãããè§£éå®è¡ããæé©åãããéå±€ãžã𿮵éçã«ææ Œãããããšã§ãèµ·åæã®å¿çæ§ãšé·æçãªããã©ãŒãã³ã¹ã®ãã©ã³ã¹ãåãããã«èšèšãããŠããŸããããããå€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºJVMã¢ããªã±ãŒã·ã§ã³ã§ã¯ããã®ã¡ã«ããºã ãäžå®å®ã«ãªãããšããããŸãããããã¡ã€ãªã³ã°ããŒã¿ãäºæž¬äžèœã«å€åããããæšæž¬ã«åºã¥ãä»®å®ã倱æããããããšãã©ã³ã¿ã€ã ã¯éå±€éãç¹°ãè¿ãæ¯åããŸãããã®çŸè±¡ã¯ãéå±€åã³ã³ãã€ã«ã®ã¹ã©ãã·ã¥ãšåŒã°ããããšãå€ããã¬ã€ãã³ã·ã®æ¥å¢ãã¹ã«ãŒãããã®äœäžãããã³äºæž¬äžèœãªå®åžžç¶æ ã®ããã©ãŒãã³ã¹ãåŒãèµ·ãããŸãããã®ã¡ã«ããºã ã®æ§é çãªæåºŠã¯ããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§åŒ·èª¿ãããŠãããã¿ãŒã³ã«å¹æµããŸãããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§ã¯ãã·ã¹ãã åäœã¯æéã®çµéãšãšãã«å€åãã埮åŠãªé¢ä¿ã«ãã£ãŠé§åãããŸããéå±€åã³ã³ãã€ã«ã®ã¹ã©ãã·ã¥ã¯ãã¢ãžã¥ãŒã«æ§ãé«ãã倿 æ§ããããã¯ãŒã¯ããŒããéåžžã«åçãªã·ã¹ãã ã§é »ç¹ã«çºçããŸãã
ãã®äžå®å®æ§ã¯ãåãµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ãç¬èªã®ãã©ãã£ãã¯ãã¿ãŒã³ãç°çš®ããŒã¿ãããŒãçµéšãã忣ç°å¢ã§ã¯ããé¡èã«ãªããŸããGraalVMãšOpenJ9ã¯ã©ã³ã¿ã€ã ãã£ãŒãããã¯ã«å€§ããäŸåããŠãããããã¯ãŒã¯ããŒãç¹æ§ã®å·®ç°ã¯ãµãŒãã¹ã€ã³ã¹ã¿ã³ã¹éã®æé©åãã¹ã®å·®ç°ãçã¿åºããŸããã¬ã¬ã·ãŒã³ãŒããäžæŽåãªåå²ãåã®å€åæ§ããŸãã¯äºæž¬äžå¯èœãªå§è²ãå°å ¥ãããšããããã¡ã€ãªã³ã°ã®å®å®æ§ã¯ããã«äœäžããŸãããããã®åœ±é¿ã¯ãåå²ã®äžèŠåæ§ãäºæž¬å¯èœæ§ãæãªãå¯èœæ§ãããå¶åŸ¡ãããŒã®æŽå¯ã§èª¬æãããŠããè€éæ§ã®èª²é¡ãšäžèŽããŸããéå±€é·ç§»ãå éãããšãã©ã³ã¿ã€ã ã¯ã³ã³ãã€ã«æžã¿ãã¬ãŒã ãç¹°ãè¿ãç Žæ£ããèšæž¬æžã¿ãã¬ãŒã ã埩å ãããããã·ã¹ãã ãæé©ãªå¹çã«éããããšãã§ããªããªããŸãã
ãããã¡ãœããã®ææ Œãšéæ Œã®ãã¿ãŒã³ãçè§£ãã
éå±€åã³ã³ãã€ã«ã¯ã段éçãªææ Œã¢ãã«ã«åºã¥ããŠããŸãããã®ã¢ãã«ã§ã¯ãã¡ãœããã¯æåã«è§£éãããæ¬¡ã«C1ã³ã³ãã€ã«ã«ææ Œãããæçµçã«ã¯JVMã«å¿ããŠC2ãŸãã¯Graalã«ãã£ãŠã€ã³ã©ã€ã³åãŸãã¯ãããªãæé©åãè¡ãããŸããææ Œã«ã¯å®å®ãããããã¡ã€ãªã³ã°ããŒã¿ãå¿ èŠã§ãããéæ Œã¯ããŒã¿ãä¿¡é Œã§ããªãããŸãã¯ç¡å¹ã«ãªã£ãå Žåã«çºçããŸããéå±€éã®é »ç¹ãªåãæ¿ãã¯ãJITãã¡ãœããã®é·æçãªåäœãç¹°ãè¿ã誀ã£ãŠå€æããŠããããšã瀺ããŠããŸãã
ãããã¡ãœããã¯ãåŒã³åºãé »åºŠãã«ãŒãå®è¡åæ°ãåã®äœ¿çšãããã¡ã€ã«ã«åºã¥ããŠææ Œã®åè£ãšãªããŸããã¡ãœãããç°ãªãå®è¡ãã§ãŒãºã§äžè²«æ§ã®ãªããããã¡ã€ã«ãçæããå Žåãã©ã³ã¿ã€ã ã¯äžå®å®ã§ãããšèªèããŸããäŸãã°ãã¡ãœãããç¹å®ã®ãªã¯ãšã¹ãããŒã¹ãæã«ã¯ãããã§ããäžæ¹ãä»ã®æéã«ã¯ã³ãŒã«ãã§ããå Žåããããã¯å ¥åããŒã¿ã®å€åã«ãã£ãŠåã·ã°ããã£ãå€åããå Žåã¯ãã³ã³ãã€ã©ã¯ææ Œãšéæ Œãç¹°ãè¿ãå¯èœæ§ããããŸãããã®ãããªã·ããªãªã¯ãã€ã³ã¹ã¿ã³ã¹ãæéééã«ãã£ãŠãã©ãã£ãã¯ãã¿ãŒã³ãç°ãªããçŸä»£ã®ãã€ã¯ããµãŒãã¹ã¯ãŒã¯ããŒãã§ããèŠãããŸãã
ãããã®ãã¿ãŒã³ã蚺æããã«ã¯ãã©ã³ã¿ã€ã ãã¬ã¡ããªãšæ§é çãªã³ãŒãç¹æ§ã®çžé¢åæãå¿ èŠã§ããããŒã ã¯ãã©ã®ã¡ãœãããéå±€éã§é »ç¹ã«åãæ¿ãããã ãã§ãªããçŸå®çãªã¯ãŒã¯ããŒãã®äžã§ãã®åäœãå€åããçç±ã調ã¹ãªããã°ãªããŸããããã®çžé¢åæã®å¿ èŠæ§ã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã§æšå¥šãããŠããæ§é ååæã«çžåœããŸããããã§ã¯ãåå¥ã®æ€æ»ã ãã§ã¯ã·ã¹ãã å šäœã®åäœãæããã«ããã«ã¯äžååã§ãããªãã¡ã¯ã¿ãªã³ã°ãããªã¢ãŒãã£ãºã ã®åæžã«ãã£ãŠé »ç¹ã«å®è¡ãããã¡ãœããã®åäœãå®å®ãããããšã§ãããŒã ã¯ã³ã³ãã€ã©ãããä¿¡é Œæ§ã®é«ããããã¡ã€ã«ãäœæããéå±€éã®åãæ¿ããé ãããã®ã«åœ¹ç«ã¡ãŸãã
å埩çãªé局移è¡ã®èŠå ãšããŠã®ãã©ãã£ãªãã£ã®ãããã¡ã€ãªã³ã°
ãããã¡ã€ãªã³ã°ããŒã¿ã¯éå±€åã³ã³ãã€ã«ã®åºç€ã圢æããŸããããã«ã¯ãåå²çµæãã«ãŒãåæ°ãåååžãå²ãåœãŠé »åºŠãäŸå€ãã¹ãªã©ãå«ãŸããŸãããããã¡ã€ãªã³ã°ãå®å®ããŠããå Žåãã¡ãœããã¯éå±€ãã€ãã©ã€ã³ãã¹ã ãŒãºã«é²ã¿ããããã¡ã€ã«ãå€åãããšãéå±€åã³ã³ãã€ã«ã¯æ··ä¹±ãæããŸãããã®å€åæ§ã¯ãå€åã®å€§ããã¯ãŒã¯ããŒããå ¥åããŒã¿ãé »ç¹ã«å€æŽãããã·ã¹ãã ããŸãã¯ã»ãã·ã§ã³éã§ãŠãŒã¶ãŒã®åäœã倧ããç°ãªãã¢ããªã±ãŒã·ã§ã³ã§ç¹ã«é¡èã«ãªããŸãã
ãã¬ãŒã ã¯ãŒã¯ã®æœè±¡åã«ãã£ãŠåå²ãã¹ãåçã«ãŒãã£ã³ã°ã®æ±ºå®ãé èœããããšãäžå®å®æ§ã¯ããã«æªåããŸããäŸãã°ããªãã¬ã¯ã·ã§ã³ãå€çšãããã¬ãŒã ã¯ãŒã¯ã¯ãã³ã³ãã€ã©ã容æã«äºæž¬ã§ããªãå®è¡ãã¹ãå°å ¥ããŸããåæ§ã«ãäŸåæ§æ³šå ¥ã³ã³ãããã€ãã³ãé§ååèšèšã¯ãå®è¡æã®ã³ã³ããã¹ãã«å¿ããŠå®è¡ãã¿ãŒã³ã倿Žããå¯èœæ§ããããŸãããããã®å€åã¯ãJITãäžè²«ããä»®å®ãæ§ç¯ããèœåãæãªããã¡ãœããã®åã€ã³ã¹ãã«ã¡ã³ããç¹°ãè¿ãåå ãšãªããŸãã
ãããã¡ã€ãªã³ã°ã®å€åæ§ãç¹å®ããã«ã¯ãã©ã³ã¿ã€ã ãã°ãšäžæµã®æ§é çããªã¬ãŒã®äž¡æ¹ãåæããå¿ èŠããããŸãããã¹ãç°å¢ã§ã®ãããã¡ã€ãªã³ã°ã¯ãå®éã®éçšç°å¢ã§ã®åäœãåæ ããªãããšãå€ããå¶åŸ¡ãããè©äŸ¡ã§ã¯å®å®ããŠããããã«èŠããã¡ãœããããè² è·ãããããšäžå®å®ã«ãªãããšããããŸãããã®ã®ã£ããã¯ããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã§èª¬æãããŠããã¢ãŒããã¯ãã£ã®è匱æ§ãåæ ããŠãããè€éãªäŸåé¢ä¿ãç°å¢ã«ãã£ãŠç°ãªãåäœãããŸããå€åæ§ãäœæžããã«ã¯ãããããã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ãäžèŠãªåå²ã®æé€ããŸãã¯åçãã¬ãŒã ã¯ãŒã¯æ©èœãéèŠãªåŒã³åºããã§ãŒã³ããåé¢ããããšãå¿ èŠã«ãªãå ŽåããããŸãã
GraalVM ãš OpenJ9 ã«ãããéå±€åã³ã³ãã€ã«ã®åäœã®éã
GraalVMãšOpenJ9ã¯éå±€åã³ã³ãã€ã«ã®å®è£ æ¹æ³ãç°ãªããç°ãªãé害ã¢ãŒããåŒãèµ·ãããŸããGraalVMã¯ãéšåçãªãšã¹ã±ãŒãè§£æãšé«åºŠãªã€ã³ã©ã€ã³å±éãã¥ãŒãªã¹ãã£ãã¯ã«åºã¥ãç©æ¥µçãªææ©çæé©åã«éç¹ã眮ããŠããŸããããã«ãããããããã¹ãé«åºŠã«æé©åã§ããŸããããããã¡ã€ãªã³ã°ç²ŸåºŠã«å¯ŸããæåºŠãé«ãŸããŸããä»®å®ãç Žç¶»ããå ŽåãGraalVMã¯ã€ã³ã©ã€ã³å±éãããã³ãŒãã®å€§éšåãç Žæ£ãããããéå±€é·ç§»ã®é£éçãªé倧床ãé«ãŸããŸãã
å¯Ÿç §çã«ãOpenJ9ã¯å®åžžç¶æ ã®äºæž¬å¯èœæ§ãéèŠããé«åºŠãªãã¥ãŒãªã¹ãã£ãã¯ãçµã¿èŸŒãããšã§ãæ©ãããææ Œãéå°ãªææ©å®è¡ã鲿¢ããŸããããã«ãããæ¿ããã¹ã©ãã·ã³ã°ã®ãªã¹ã¯ã¯è»œæžãããŸãããéåžžãšã¯ç°ãªãã¯ãŒã¯ããŒããã¿ãŒã³ãæã€ã¢ããªã±ãŒã·ã§ã³ã§ã¯æé©åãé å»¶ããå¯èœæ§ããããŸããOpenJ9ãåäœã誀解éããå ŽåãçµæãšããŠçããéæ Œãµã€ã¯ã«ã¯GraalVMã®åã³ã³ãã€ã«ã«ã¹ã±ãŒããããé »ç¹ã«çºçããŸããããã®æ·±å»åºŠã¯GraalVMãããäœããªããŸãã
ãããã®éããçè§£ããããšã§ãããŒã ã¯ãã¥ãŒãã³ã°æŠç¥ã調æŽãããããªããŸããGraalVMã§ã¯ãããªã¢ãŒãã£ãã¯ãªå€åæ§ãäœæžããããäžå®å®ãªãã©ã³ããåé¢ãããããããšã§ã¡ãªãããåŸãããå¯èœæ§ããããŸããäžæ¹ãOpenJ9ã§ã¯ããŠã©ãŒã ã¢ããæ¡ä»¶ã®èª¿æŽãç¹å®ã®JITãã©ã¡ãŒã¿ã®å¶åŸ¡ãå¿ èŠã«ãªãå ŽåããããŸãããã®ãããªãªãã¬ã¯ãã£ããªãã¥ãŒãã³ã°ææ³ã¯ãã¢ãŒããã¯ãã£ã®ã³ã³ããã¹ãã«åºã¥ããŠæé©åã®æ±ºå®ãè¡ãå¿ èŠããããã¢ããã€ãŒãŒã·ã§ã³ããŒã«ã®æŠèŠã§æšå¥šãããŠããã¢ããã€ãŒãŒã·ã§ã³èª¿æŽã«äŒŒãŠããŸãã
JFRããã°ãã³ãŒã«ã°ã©ãæ§é ã®çžé¢é¢ä¿ã«ãããã£ã¢ã¹ã©ãã·ã¥ã®æ€åº
ãã£ã¢ã»ã¹ã©ãã·ã¥ãæ€åºããã«ã¯ããããã¡ã€ãªã³ã°ã»ã€ãã³ããJITã³ã³ãã€ã«ã»ãã°ããããŠã³ãŒãæ§é ã®ç¹æ§éã®çžäºäœçšã芳å¯ããå¿ èŠããããŸããJFRã¯ãæé©åè§£é€ã®çç±ããã£ã¢é·ç§»ãåãããã¡ã€ã«ããããŠã³ã³ãã€ã«å€±æãèšé²ããŸããJITãã°ãšçµã¿åãããããšã§ãã¡ãœããããã£ã¢éã§æ¯åããã¿ã€ãã³ã°ãšçç±ãæç³»åã§ææ¡ã§ããŸããããããæ ¹æ¬åå ãç¹å®ããã«ã¯ããã®æ å ±ãã³ãŒã«ã°ã©ãæ§é ãšçžé¢ãããããšãäžå¯æ¬ ã§ãã
ãã£ã¢ã»ã¹ã©ãã·ã¥ã¯ãç¹°ãè¿ãåã³ã³ãã€ã«ãããã¡ãœããã§ã¯ãªãããããã¡ã€ãªã³ã°ãäžå®å®ã«ããäžæµã®äŸåé¢ä¿ã«èµ·å ããããšããããããŸããäŸãã°ãé »ç¹ã«å€æŽããããŠãŒãã£ãªãã£ã¡ãœããããé²åãããã¬ãŒã ã¯ãŒã¯ã®ãšã³ããªãã€ã³ãã¯ãåååžãåå²åäœãå€åãããå¯èœæ§ããããŸããããããäžæµã®å€åã¯ãæ§é çã«å®å®ããŠããããã«èŠããã¡ãœããã§ãã£ãŠããäžæµã«äžå®å®æ§ããããããŸãã
ãã®äŸåé¢ä¿ãžã®æåºŠã¯ãããã°ã¬ã¹ãããŒã®å®è·µã§åŒ·èª¿ãããŠããã·ã¹ãã çãªçžäºäœçšã«äŒŒãŠããŸããããã§ã¯ãäžæµã®å€æŽãåºç¯å²ã«åã³ãæã«ã¯æå³ããªã圱é¿ããããããŸããJFRããŒã¿ãšã³ãŒã«ã°ã©ãåæãé¢é£ä»ããããšã§ãããŒã ã¯æ§é çãªããªã¬ãŒãç¹å®ãã察象ãçµã£ããªãã¡ã¯ã¿ãªã³ã°ãé©çšããŠãããã¡ã€ãªã³ã°å ¥åãå®å®ãããããšãã§ããŸããããã«ããããã£ã¢ã®å€æŽãæžããGraalVMç°å¢ãšOpenJ9ç°å¢ã®äž¡æ¹ã§äºæž¬å¯èœãªJITåäœãå埩ããŸãã
ãããã³ãŒããã¹ã«ããããã¬ãŒã ã¯ãŒã¯ã«ããäºæž¬äžå¯èœæ§ãåãé¢ã
çŸä»£ã®ãšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³ã¯ããã¬ãŒã ã¯ãŒã¯ãäŸåæ§æ³šå ¥ã³ã³ãããåçãããã·ããªãã¬ã¯ã·ã§ã³ãããã³ã¢ãããŒã·ã§ã³é§åã®åäœã«å€§ããäŸåããŠããŸãããããã®æœè±¡åã¯éçºãå éãããäžæ¹ã§ãJITæé©åãäžå®å®ã«ããå®è¡ã®å€åæ§ããããããŸãããœãŒã¹ã³ãŒãã§ã¯åçŽã«èŠããããããã¹ã¯ããã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠçæãããè€æ°ã®éæ¥åç §ã¬ã€ã€ãŒãé ããŠããå¯èœæ§ããããŸãããããã®ã¬ã€ã€ãŒã¯ãåŒã³åºãæ§é ã倿Žãã远å ã®åãå°å ¥ããéçºè ã«ã¯èŠããªãæ¹æ³ã§åå²åäœã倿ŽããŸããçµæãšããŠçããäºæž¬äžå¯èœæ§ã¯ãã·ã¹ãã åäœãçè§£ããããã«ããæ·±ãå¯èŠæ§ãå¿ èŠã§ãããšããããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§æŠèª¬ãããŠããæžå¿µãšäžèŽããŸãããããã³ãŒããã¹ã¯ãJITããŠã©ãŒã ã¢ããäžã«ç¢ºç«ãããæåŸ ãšã¯ç°ãªãã©ã³ã¿ã€ã ã·ã°ãã«ãåãåããããæé©åè§£é€ã«å¯ŸããŠè匱ã«ãªããŸãããã®äžäžèŽã¯ææ©çç¡å¹åã®é »åºŠãå¢å ãããçŸå®çãªã¯ãŒã¯ããŒãã®äžã§ããã©ãŒãã³ã¹ã®äœäžã«ã€ãªãããŸãã
ãã¬ãŒã ã¯ãŒã¯ã«èµ·å ããäºæž¬äžå¯èœæ§ã¯ãåçãªã¯ãŒã¯ããŒããæã€ JVM ç°å¢ã§ã¯ç¹ã«åé¡ãšãªããŸããGraalVM ãš OpenJ9 ã¯ããããã¡ã€ãªã³ã°ããŒã¿ã«åºã¥ããŠç¹æ®åã®æ±ºå®ãè¡ããŸããããã¬ãŒã ã¯ãŒã¯ãå¯å€çãªåŒã³åºã圢ç¶ãäºæž¬äžå¯èœãªåååžãçæãããšããããã®æ±ºå®ãäžå®å®ã«ãªããŸããåçãªãªããžã§ã¯ãçæããããã·ã¬ã€ã€ãªã³ã°ãèªåçæãããã€ã³ã¿ãŒã»ãã¿ãŒã¯ãåŒã³åºãããšã«å®è¡ç¹æ§ãå€åãããããšããããããŸãããããã®å€åã¯ãå¶åŸ¡ãããŒã«é¢ããèå¯ã§è°è«ãããŠããæ§é çãªäžèŠåæ§ãæš¡å£ããŠãããå®è¡ãã¿ãŒã³ã®å€åãæé©åã劚ããŸããå€§èŠæš¡ãªåæ£ã¢ãŒããã¯ãã£ã§å®å®ããããã©ãŒãã³ã¹ãç¶æããã«ã¯ããã¬ãŒã ã¯ãŒã¯ã®åäœãããããã¹ãšã©ã®ããã«çžäºäœçšããããçè§£ããããšãäžå¯æ¬ ã§ãã
ãããã·ççºã®æ€åºãšã¿ã€ããããã¡ã€ã«ãžã®åœ±é¿
å€ãã®ãã¬ãŒã ã¯ãŒã¯ã¯ãAOPãã€ã³ã¿ãŒã»ãã·ã§ã³ãã³ã³ããã©ã€ããµã€ã¯ã«ããã¯ããµããŒãããããã«ãå®è¡æã«ãããã·ã¯ã©ã¹ãçæããŸãããããã®ãããã·ã¯ãåŒã³åºãå ã«ãããåå¯åºŠãæ¡åŒµããæ°ããã¬ã·ãŒãåãå°å ¥ããå€ãã®å Žåã以åã¯ã¢ãã¢ãŒãã£ãã¯ã ã£ãåŒã³åºããã¡ã¬ã¢ãŒãã£ãã¯ãªãã®ã«å€æããŸãããã®åæ¡åŒµã¯ã€ã³ã©ã€ã³å±éãé»å®³ããã¬ãŒãã®è€éããå¢å€§ãããé »ç¹ãªåã³ã³ãã€ã«ã®å¯èœæ§ãé«ããŸãããããã·ã®äœæã¯ãäŸåæ§æ³šå ¥ãã¬ãŒã ã¯ãŒã¯ãORMã¬ã€ã€ãŒãã»ãã¥ãªãã£ããã«ãŠã§ã¢ã§ç¹ã«ããèŠãããŸãã
ãããã·ã®ççºçå¢å ãæ€åºããã«ã¯ãã¯ã©ã¹ããŒãã®åäœãšåŒã³åºããµã€ãã®ãããã¡ã€ãªã³ã°ããŒã¿ãé¢é£ä»ããå¿ èŠããããŸããããŒã ã¯ãããããã¹å®è¡äžã«ã©ã®ã¯ã©ã¹ãåºçŸãããã芳å¯ãããããã€ã¡ã³ãéã§ãããã·ã®å¢å åŸåãæ¯èŒã§ããŸãããããã®èгå¯ã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã§æšå¥šãããŠããæ§é 远跡ãšé¡äŒŒããŠãããã³ã³ããŒãã³ãéã®é¢ä¿ããããã³ã°ããããšã§é ãããã¿ãŒã³ãæããã«ãªããŸãããããã·ã®çºçæºãç¹å®ããããã察çãšããŠãã€ã³ã¿ãŒã»ãã¿ãŒãã§ãŒã³ã®åæžãé »ç¹ã«ããªã¬ãŒããããã³ã¬ãŒã¿ã®æžãæããåã®å€åãæå°éã«æããå®å®ããã¢ããã¿ã¬ã€ã€ãŒã®äœæãªã©ãèããããŸãã
å Žåã«ãã£ãŠã¯ããã¬ãŒã ã¯ãŒã¯é§åã®åäœãäºåèšç®ããããããã³ã°ã軜éãã£ã¹ãããããŒãã«ã«çœ®ãæããããšã§ãããããã¹ãããããã·ãå®å šã«æé€ã§ããŸããããã«ããåã®ã°ãã€ãã軜æžãããJITã®äºæž¬å¯èœæ§ãå埩ããŸãããããã·ãæ®ããŠããå¿ èŠãããå Žåã¯ãå éšã«ãŒããããã©ãŒãã³ã¹ãéèŠãªãããŒã®å€åŽã«åé¢ããããšã§ãæé©åã®å®å®æ§ãç¶æã§ããŸãã
ãªãã¬ã¯ã·ã§ã³ããŒã¹ã®æäœãã€ã³ã©ã€ã³å±éãšãããã¡ã€ãªã³ã°ã®å®å®æ§ã«åãŒã圱é¿
ãªãã¬ã¯ã·ã§ã³ã¯åŒ·åã§ã¯ãããã®ã®ãJITæé©åã«ãããŠæãäžå®å®ãªã¡ã«ããºã ã®äžã€ã§ãããªãã¬ã¯ã·ã§ã³æäœã¯éçãªåé¢ä¿ããã€ãã¹ãããããã³ã³ãã€ã©ã¯åŒã³åºã圢æ ã«é¢ããäžå®å šãªæ å ±ãåãåãããªãã¬ã¯ã·ã§ã³åŒã³åºããã€ã³ã©ã€ã³å±éã§ããŸãããããã«ããªãã¬ã¯ã·ã§ã³å®è¡ã¯ãã¬ã·ãŒããŒã®ååžã倿Žããåçãªã¯ã©ã¹ããŒãã£ã³ã°ãé »ç¹ã«åŒãèµ·ãããŸãããããã®åäœã¯ãããããå®å®ãããããã¡ã€ãªã³ã°ãé»å®³ããŸãã
ãªãã¬ã¯ã·ã§ã³ã¯ãã·ãªã¢ã©ã€ãŒãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ãåçã«ãŒãã£ã³ã°ã·ã¹ãã ãORMããŒã«ãã¢ãããŒã·ã§ã³ããã»ããµãªã©ã§ããçšããããŸãããªãã¬ã¯ã·ã§ã³ãé »ç¹ã«äœ¿çšããããã¹å ã§çºçãããšãã€ã³ã©ã€ã³ããªã¢ãšããŠæ©èœããåã®äœ¿ç𿹿³ã«ã°ãã€ããçããŸãããããã®ç¹æ§ã¯ããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã«åœ±é¿ãåããã¢ãŒããã¯ãã£ã«èŠãããäºæž¬äžå¯èœæ§ãæš¡å£ããŠãããåçãªåäœãäºæž¬å¯èœãªå®è¡ãããŒãé»å®³ããŸãã
ç·©åçãšããŠã¯ããªãã¬ã¯ã·ã§ã³ãããããã¹ããç§»åãããããªãã¬ã¯ã·ã§ã³ã«ããã«ãã¯ã¢ããããã£ãã·ã¥ããããªãã¬ã¯ã·ã§ã³ãçæãããéçã¢ã¯ã»ãµã«çœ®ãæãããªã©ãæããããŸãããªãã¡ã¯ã¿ãªã³ã°ãå¯èœãªå Žåãéçºè ã¯äºåèšç®æžã¿ã®ã¹ããŒããäºåæ€èšŒæžã¿ã®ã«ãŒãã£ã³ã°ããŒãã«ãå°å ¥ããããšã§ãããã©ãŒãã³ã¹ãéèŠãªæäœã«ããããªãã¬ã¯ã·ã§ã³ã«ãããã£ã¹ãããã®å¿ èŠæ§ãæé€ã§ããŸãããããã®èª¿æŽã¯ããããã¡ã€ãªã³ã°ããŒã¿ã®å®å®åãšãéæé©åã®é »åºŠã®åæžã«åœ¹ç«ã¡ãŸãã
éçãã¥ãŒãšå®è¡æãã¥ãŒãçµã¿åãããŠãã¬ãŒã ã¯ãŒã¯ã®ãããã¹ããããç¹å®ãã
ãã¬ãŒã ã¯ãŒã¯ã«èµ·å ããããã©ãŒãã³ã¹ã®åé¡ã¯ãæœè±¡åã¬ã€ã€ãŒã®èåŸã«é ããŠããããšãå€ããéçè§£æã ãã§ã¯èšºæãå°é£ã§ããã©ã³ã¿ã€ã ãããã¡ã€ãªã³ã°ã¯å®è¡ç¹æ§ãæããã«ããŸãããæ§é çãªã³ã³ããã¹ãããªããšãããŒã ã¯äžå®å®æ§ã®åå ã誀ã£ãŠè§£éããå¯èœæ§ããããŸãã广çãªèšºæã«ã¯ãéçäŸåé¢ä¿ãããã³ã°ãšã©ã³ã¿ã€ã ãã¬ã¡ããªãçµã¿åãããå¿ èŠããããŸããããã¯ãã¢ããã€ãŒãŒã·ã§ã³ããŒã«ã®æŠèŠã§èª¬æãããŠããæ§é çæŽå¯ã«æ²¿ã£ãææ³ã§ãããã®çµã¿åããã«ãããããŒã ã¯JITã€ãã³ããšãã¬ãŒã ã¯ãŒã¯åºæã®æäœãé¢é£ä»ããããšãã§ããŸãã
ã©ã€ããµã€ã¯ã«ããã¯ãã€ã³ã¿ãŒã»ãã¿ãŒã¹ã¿ãã¯ããŸãã¯ã¯ãªãã£ã«ã«ã³ãŒã«ãã¹ã«äœçœ®ããèªåçæãµãŒãã¹ã§ã¯ããããã¹ããããé »ç¹ã«çºçããŸãããããã®ãã¿ãŒã³ãåºçŸããå ŽåãããŒã ã¯å¯Ÿå¿ãããã¬ãŒã ã¯ãŒã¯ã³ã³ããŒãã³ããåé¢ããäžèŠãªåå²ãããªã¢ãŒãã£ãºã ããŸãã¯ã¯ã©ã¹ããŒãã£ã³ã°ãå°å ¥ããŠããªããã©ãããè©äŸ¡ã§ããŸããæ§é åæã¯ããªãã¡ã¯ã¿ãªã³ã°ãã¢ããã¿ã®æ¿å ¥ããŸãã¯å¢çåé¢ã«ãã£ãŠäºæž¬äžå¯èœãªåäœãå¶éã§ãããã©ããã倿ããã®ã«åœ¹ç«ã¡ãŸãã
ãã®çµ±åã¢ãããŒãã«ããããããã¡ã€ãªã³ã°ã®äžå®å®æ§ã«æãå¯äžãããã¬ãŒã ã¯ãŒã¯ã»ã°ã¡ã³ããæããã«ãªããŸãããã®æ å ±ãçµ±åããããšã§ãçµç¹ã¯ãã¬ãŒã ã¯ãŒã¯ã®å©äŸ¿æ§ãç¶æããªããããããã¹ã®ããã©ãŒãã³ã¹ãä¿è·ãããçãçµã£ã修埩æŠç¥ãçå®ã§ããŸãã
å¢çåé¢ãšç¹æ®ãªå®è¡ãã¹ã«ãããã¬ãŒã ã¯ãŒã¯ã®å€åæ§ã®äœæž
äžå®å®ãªãã¬ãŒã ã¯ãŒã¯ã»ã°ã¡ã³ããç¹å®ããããšãå¢çåé¢ãå®è¡ãå®å®åãããããã®äž»èŠãªææ®µãšãªããŸããå¢çåé¢ãšã¯ãåçãªåäœãã«ãã»ã«åãããããããã©ãŒãã³ã¹ã«é倧ãªåœ±é¿ãäžããé åã«æŒãåºããªãããã«ãããæç¢ºã«å®çŸ©ãããã€ã³ã¿ãŒãã§ãŒã¹ãäœæããããšã§ãããã®ã¢ãããŒãã¯ãäŸåé¢ä¿ãåç·šæããããšã§ã·ã¹ãã ã®è匱æ§ãäœæžãããããã°ã¬ã¹ãããŒã®å®è·µã§èª¬æãããŠããäœç³»çãªå¢ç粟緻åã«äŒŒãŠããŸãã
ããŒã ã¯ãããããã¹ããã¬ãŒã ã¯ãŒã¯ã®å€åæ§ãåé¿ããç¹æ®ãªå®è¡ãããŒã«ãªãã€ã¬ã¯ãããããšã§ãå¢çåé¢ãå®è£ ã§ããŸããäŸãšããŠã¯ãé«éãã¹ã«ãã¯ã¢ããããŒãã«ãéçã«çµç·ãããã€ã³ã¹ã¿ã³ã¹ãäºåæ€èšŒæžã¿ã®å®è¡ããããªã©ãæããããŸãããããã®ä»£æ¿ãã¹ã¯ãåçãããã·ãžã®äŸåã軜æžãããªãã¬ã¯ã·ã§ã³ãæé€ããã¢ãžã¥ãŒã«éã®äžå®å®æ§ããããã«ãŒãã«åœ±é¿ãäžããã®ãé²ããŸããåçãªåäœãç¶æããå¿ èŠãããå Žåã¯ããããã¡ã€ãªã³ã°ã®å®å®æ§ãããã»ã©éèŠã§ãªãå éšã«ãŒãã®å€åŽããŸãã¯ã·ã¹ãã å¢çã§åäœããããã«ããããšãã§ããŸãã
æçµçµæã¯ãJIT ãå®å®ããæšæž¬çä»®å®ã圢æã§ããäºæž¬å¯èœãªå®è¡ç°å¢ãšãªããæé©åè§£é€ã€ãã³ããåæžããã忣ã·ã¹ãã å šäœã®ããã©ãŒãã³ã¹ã®äžè²«æ§ãåäžããŸãã
éæé©åã€ãã³ããããªã¬ãŒããé«ãªã¹ã¯äŸåé¢ä¿ã®ãªãã¡ã¯ã¿ãªã³ã°
å€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³ã§ã¯ãJITæé©åã®å質ã«åœ±é¿ãäžããäŸåé¢ä¿ãèç©ãããŸããäžéšã®äŸåé¢ä¿ã¯æ¥éã«é²åããåã®å€åæ§ãå°å ¥ããããææ©çãªä»®å®ãäžå®å®åãããåçãªåäœãçµã¿èŸŒãã ãããŸãããŸããè€æ°ã®ããã©ãŒãã³ã¹ãéèŠãªã¢ãžã¥ãŒã«ãå ±ææœè±¡åã«ãªã³ã¯ããåºç¯ãªçµåãçã¿åºãã1ã€ã®ã³ã³ããŒãã³ãã®ããããªå€æŽãã·ã¹ãã å šäœã®æé©åãããã³ãŒããç¡å¹ã«ããŠããŸãå¯èœæ§ãé«ããŸãããããã®æ§é çãªã¹ã¯ã¯ããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§æ€èšãããŠããããŒããåæ ããŠãããã³ã³ããŒãã³ãéã®é¢ä¿ãçè§£ããããšããé£éçãªã©ã³ã¿ã€ã 广ãåé¿ããããã«äžå¯æ¬ ã§ããçµç¹ããªã¹ã¯ã®é«ãäŸåé¢ä¿ããªãã¡ã¯ã¿ãªã³ã°ãããšãåäœå€æŽã®åœ±é¿ç¯å²ãçž®å°ããJITæé©åã®äºæž¬å¯èœæ§ãåäžããŸãã
å ±éãŠãŒãã£ãªãã£ã暪æçãªã€ã³ãã©ã¹ãã©ã¯ãã£å±€ãšããŠæ©èœããäŸåé¢ä¿ã¯ãç¹ã«åœ±é¿ãåããããããããã®äŸåé¢ä¿ã¯åºãå©çšããããããã€ã³ã©ã€ã³åãããåŒã³åºããã§ãŒã³ã«çŸããé »åºŠãé«ããªãããããã®äŸåé¢ä¿ãé »ç¹ã«å€åããããäžå®å®ãªããžãã¯ãå°å ¥ããããããšãäžå®å®æ§ããããã¡ã€ãªã³ã°ããéã®ãããã¹ããããšãªãããããããªã¹ã¯ã¯ãå¶åŸ¡ãããŒã«é¢ããèå¯ã§èª¬æãããŠããæŠå¿µã¢ãã«ãããªãã¡æ§é çãªäžèŠåæ§ãå®è¡ãã¹å šäœã«æ³¢åãããšããã¢ãã«ãšäžèŽããããããã®äŸåé¢ä¿ããªãã¡ã¯ã¿ãªã³ã°ããã«ã¯ãããããããããã¹ã«ã©ã®ããã«é¢äžããŠããããç¹å®ããã·ã¹ãã å šäœã«ããããäžå®å®æ§ãè©äŸ¡ããå¿ èŠãããã
圱é¿äžå¿ã®åæã«ããé«ãªã¹ã¯äŸåé¢ä¿ã®æ€åº
JIT åäœãå®å®åããããã®æåã®ã¹ãããã¯ãã·ã¹ãã å šäœã®äžå®å®æ§ãåŒãèµ·ããäŸåé¢ä¿ãç¹å®ããããšã§ãã圱é¿äžå¿ã®åæã«ãããããŒã ã¯äŸåé¢ä¿ãã©ãã§äœ¿çšãããŠããããããããã¹ã«ã©ã®ãããé »ç¹ã«åºçŸãããããããŠãã®åäœããããã¡ã€ãªã³ã°ããŒã¿ã«ã©ã®ããã«åœ±é¿ãããã芳å¯ã§ããŸãããã®ææ³ã¯ãéçäŸåé¢ä¿ãããã³ã°ãšã©ã³ã¿ã€ã ãã¬ã¡ããªãçµã¿åãããJIT ã®æé©åè§£é€ãã©ãã§çºçãããããã³ãŒã«ã°ã©ãå šäœã«ã©ã®ããã«äŒæããããæããã«ããŸãã
é«ãªã¹ã¯ãªäŸåé¢ä¿ã«ã¯ãäžè¬çã«å ±æãŠãŒãã£ãªãã£ã©ã€ãã©ãªãåºç¯å²ã«åœ±é¿ãäžããã¬ã¬ã·ãŒã¢ãžã¥ãŒã«ããŸãã¯é²è¡äžã®è¿ä»£åã€ãã·ã¢ããã«ãã£ãŠå°å ¥ãããåçã«é²åããã³ã³ããŒãã³ããå«ãŸããŸãããããã®äŸåé¢ä¿ã¯ãåã®ã€ã³ãã¬ãŒã·ã§ã³ããã©ã³ãã®äºæž¬äžå¯èœæ§ããŸãã¯ãããã·çæã«ã€ãªããããšãå€ãããããããæé©åã®äœäžãªã¹ã¯ãé«ããŸãããããã®é¢ä¿ãç¹å®ããããšã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã§åŒ·èª¿ãããŠããäŸåé¢ä¿è¿œè·¡æŠç¥ã«çžåœãã1ã€ã®ã¢ãžã¥ãŒã«ã®å€æŽãä»ã®å€ãã®ã¢ãžã¥ãŒã«ã«ã©ã®ããã«åœ±é¿ããããçè§£ããããšã®éèŠæ§ã匷調ããŠããŸãã
ããŒã ã¯ãJFRèšé²ãJITãã°ãæ§é è§£æçµæãçµã¿åãããããšã§ãéæé©åã€ãã³ãã§ç¹°ãè¿ãçºçããäŸåé¢ä¿ãç¹å®ã§ããŸããç¹å®ãããäŸåé¢ä¿ã¯ããããã¡ã€ãªã³ã°ç¹æ§ã®å®å®åãšç¡å¹åé »åºŠã®äœæžãç®çãšãããã¿ãŒã²ãããçµã£ããªãã¡ã¯ã¿ãªã³ã°äœæ¥ã®æååè£ãšãªããŸãã
ã€ã³ã¿ãŒãã§ãŒã¹ã®åå²ãšã¢ãžã¥ãŒã«å¢çã«ããäŸåé¢ä¿ã®äžå®å®æ§ã®äœæž
äŸåé¢ä¿ã¯ãè€æ°ã®åäœããŒã«ãæç€ºããããã»ãšãã©ã®ã³ã³ããã¹ãã§ã¯äœ¿çšãããªãå¹ åºãæ©èœããµããŒãããããããšãäžå®å®åãåŒãèµ·ãããŸããããã«ããããµãŒãã¹ãã¯ãŒã¯ããŒãããšã«ç°ãªãå®è¡ãã¿ãŒã³ãçããJITãä¿¡é Œæ§ã®é«ãæšæž¬çä»®å®ã圢æã§ããªããªããŸãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãããçããç®çã«ç¹åããæœè±¡åã«åå²ããããšã§ãäžå®å®æ§ãæå¶ããæé©åã®å®å®æ§ãåäžãããããšãã§ããŸãã
ã€ã³ã¿ãŒãã§ãŒã¹åå²ãšã¯ãåºç¯ãªå¥çŽãããå°ããªãã³ã³ããã¹ãåºæã®å¥çŽã«åå²ããããšã§ããããã«ããããªã¹ã¯ã®é«ãå€åæ§ãããã©ãŒãã³ã¹ã«éèŠãªãã¹ããåé¢ãããŸãããã®ææ³ã¯ããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã§è°è«ãããŠããè¿ä»£åã®ååã«åèŽããŠãããæç¢ºãªå¢çã«ãã£ãŠåæ£ã¢ãŒããã¯ãã£å šäœã§ã®åäœãç°¡çŽ åãããŸãããã®çµæãJITãå®è¡ã確å®ã«ãããã¡ã€ãªã³ã°ããæ©èœã®ä¹±ç«ã«ããé »ç¹ãªç¡å¹åãèµ·ãããã«ç©æ¥µçãªæé©åãé©çšã§ããã³ãŒãããŒã¹ãå®çŸããŸãã
ã¢ãžã¥ãŒã«å¢çã®çްååã«ãããåãæœè±¡åã倿ŽããããŒã ã®æ°ãæžããã€ã³ã¿ãŒãã§ãŒã¹ã®å€æŽã«äŒŽãæ··ä¹±ã®ãªã¹ã¯ã軜æžãããŸããããã«ãããããã©ãŒãã³ã¹ãéèŠãªã¢ãžã¥ãŒã«ã¯ãå®å®ããäºæž¬å¯èœãªã³ã³ããŒãã³ãã®ã¿ã«äŸåããããã«ãªããŸãã
å ±æãŠãŒãã£ãªãã£ã¢ãžã¥ãŒã«ã«ãããå®å®ååäœ
å ±æãŠãŒãã£ãªãã£ã¢ãžã¥ãŒã«ã¯ãæéã®çµéãšãšãã«å€ãã®è²¬ä»»ãèç©ããåŸåãããããããã°ãã°éæé©åã®åå ãšãªããŸãããã°ãŠãŒãã£ãªãã£ãæ€èšŒã©ã€ãã©ãªãæ§æããã»ããµãäºææ§ã¬ã€ã€ãŒã¯ãå€ãã®å Žåãæ®µéçã«æ©èœè¿œå ãããŸãããããã®è¿œå ã«ãããåå²ã®äžèŠåæ§ãäžå®å®ãªå®è¡ãã¹ãçããäžè²«ãããããã¡ã€ãªã³ã°ã劚ããããŸãããããã®ãŠãŒãã£ãªãã£ã¯ã¢ããªã±ãŒã·ã§ã³å šäœã«åºã䜿çšãããããããã®äžå®å®æ§ã¯ããã©ãŒãã³ã¹ã«åºç¯å²ã«åœ±é¿ãåãŒããŸãã
ããŒã ã¯ãå€åæ§ã®é«ãæ©èœãã³ã¢æäœããåé¢ããããšã§ããããã®ãŠãŒãã£ãªãã£ãå®å®åã§ããŸããäžè¬çãªæŠç¥ã®äžã€ãšããŠããŠãŒãã£ãªãã£ãå®å®ããé«éãã¹ãšæ©èœè±å¯ãªäœéãã¹ã«åå²ããããšãæããããŸããå®å®ããé«éãã¹ã¯ãåå²ãåã®å¯å€æ§ãåçãªåäœãæå°éã«æããããŠãããããã€ã³ã©ã€ã³å±éãç©æ¥µçãªæé©åã«é©ããŠããŸããäœéãã¹ã¯ããªãã·ã§ã³ãŸãã¯é »åºŠã®äœãã·ããªãªãåŠçããããã©ãŒãã³ã¹ãéèŠãšãªããããŒã®å€åŽã«æ®ãããŸãã
ãã®åç·šã¯ãè¿ä»£åããŒã«ã®æŠèŠã§èª¬æãããŠããäœç³»çãªæ¹åãåæ ãããã®ã§ãããäºæž¬å¯èœæ§ãç¶æããããã«è€éãªåäœãåé¢ããããšãéèŠããŠããŸããå ±æãŠãŒãã£ãªãã£ã®å®å®æ§ãšäºæž¬å¯èœæ§ã確ä¿ããããšã§ãçµç¹ã¯åºç¯å²ã«ãããæé©åè§£é€ã®ãªã¹ã¯ã軜æžããå®åžžç¶æ ã®ããã©ãŒãã³ã¹ãåäžãããŸãã
æ§é ãªãã¡ã¯ã¿ãªã³ã°ã䜿çšããŠã¢ãžã¥ãŒã«éã®ççºååŸãæå°åãã
äŸåé¢ä¿ã®å€æŽã«ãã圱é¿ç¯å²ã¯ããã®åœ±é¿ãã³ãŒãããŒã¹å šäœã«ã©ã®çšåºŠæ³¢åãããã衚ããŸãã圱é¿ç¯å²ã®å€§ããäŸåé¢ä¿ã¯ãéåžžãã³ãŒã«ã°ã©ãã®äžå€®ã«äœçœ®ããããè€æ°ã®ã¢ãžã¥ãŒã«ãžã®ãšã³ããªãã€ã³ããšããŠæ©èœããŸãããããã®äŸåé¢ä¿ã倿Žããããšã倿°ã®ã€ã³ã©ã€ã³ãã§ãŒã³ã«ããããããã¡ã€ãªã³ã°ã®åæãç¡å¹ã«ãªããã·ã¹ãã å šäœã«ãããæé©åè§£é€ã®é£éãåŒãèµ·ãããŸãã
æ§é ãªãã¡ã¯ã¿ãªã³ã°ã¯ãäŸåé¢ä¿ã®æŽçãäžå®å®ãªã³ã³ããŒãã³ããšå®å®ããã³ã³ããŒãã³ãã®åé¢ãã¢ãžã¥ãŒã«ã®æææš©ã®èª¿æŽã«ãã£ãŠããã®åœ±é¿ç¯å²ãå€§å¹ ã«çž®å°ããããšãã§ããŸããå ·äœçãªææ³ãšããŠã¯ãç¹æ®ãªã€ã³ã¿ãŒãã§ãŒã¹ã®æœåºãåçãªåäœãããããã¹ããåé¢ããããšãæ©èœçãªå©äŸ¿æ§ã§ã¯ãªãå®éã®å®è¡é »åºŠãåæ ããäŸåé¢ä¿éå±€ã®åèšèšãªã©ãæããããŸãã
ãããã®å€æŽã¯ãããã°ã¬ã¹ãããŒã®å®è·µã§ç€ºãããŠããåæ§ç¯ã¢ãããŒããåæ ãããã®ã§ãããå¢çãåç·šæããããšã§ã·ã¹ãã ã®è匱æ§ãäœæžããŸããäŸåé¢ä¿æ§é ãæ©èœçãªåœ¹å²ã ãã§ãªããããã©ãŒãã³ã¹ã®ããŒãºã«åèŽãããšãã·ã¹ãã ã¯é£éçãªæé©åäœäžäºè±¡ã«å¯ŸããŠèããèæ§ãæã€ããã«ãªããŸãã
ã¯ã©ã¹ããŒããŒã®æçåãæå°éã«æã㊠JIT ã®äºæž¬äžå¯èœæ§ãäœæžãã
ã¯ã©ã¹ããŒããŒã®æ§é ã¯ãJVM ãææ©çãªä»®å®ã圢æãé©çšããæ¹æ³ã«ãããŠäžå¿çãªåœ¹å²ãæãããŸããå€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãº ã·ã¹ãã ã§ã¯ãã¢ãžã¥ãŒã«åããã©ã°ã€ã³ ã¢ãŒããã¯ãã£ãã³ã³ããåãããç°å¢ããã¬ãŒã ã¯ãŒã¯äž»å°ã®ã³ã³ããŒãã³ãé ç·ãªã©ã«ãããã¯ã©ã¹ããŒããŒã墿®ããŸããåã¯ã©ã¹ããŒããŒã¯åºæã®åå空éãäœæããå€ãã®å Žåãåãã¯ã©ã¹ãã€ã³ã¿ãŒãã§ãŒã¹ããŸãã¯ãããã·ã®è€æ°ã®ããŒãžã§ã³ãåæã«ååšããããšã«ãªããŸãããã®ãããªæçåã¯äžèŠãªåã®å€æ§æ§ãããããããããã¡ã€ãªã³ã°ã®å®å®æ§ãæãªããJIT ã®æ±ºå®ãæ··ä¹±ãããŸãããããã®åœ±é¿ã¯ããœãããŠã§ã¢ ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§æŠèª¬ãããŠããã·ã¹ãã çãªå¯èŠæ§ã®èª²é¡ã«äŒŒãŠãããæ§é çãªè€éããã©ã³ã¿ã€ã åäœã«åœ±é¿ãäžããé¢ä¿æ§ãé èœããŸããã¯ã©ã¹ããŒããŒã®æçåãé²ããšãJIT ã³ã³ãã€ã©ã¯ææ§ãªãããã¡ã€ãªã³ã° ããŒã¿ãåãåããã¢ããªã±ãŒã·ã§ã³å šäœã§æé©åè§£é€ã®é »åºŠãå¢å ããŸãã
ã¯ã©ã¹ããŒããŒã®æçåã¯ãã€ã³ã©ã€ã³åãéå±€åã³ã³ãã€ã«ããšã¹ã±ãŒãè§£æãéšåè©äŸ¡ãªã©ã®ææ©çæé©åãè€éåãããŸããåäžã®ã¯ã©ã¹ãç°ãªãããŒããŒã§åºçŸãããšãã³ã³ãã€ã©ã¯ããããç¡é¢ä¿ãªåãšããŠæ±ããåã·ã°ããã£ãèšåŒµãããäžèŠåçžã«èŠãããµã€ããå€çžãŸãã¯è¶ å€çžã«åŽ©å£ããŸãããã®äžæŽåã¯ãç¹ã«äŸåæ§æ³šå ¥ããã©ã°ã€ã³ã·ã¹ãã ãOSGiã¢ãžã¥ãŒã«ããŸãã¯é«åºŠã«åçãªãã€ã¯ããµãŒãã¹ãã¬ãŒã ã¯ãŒã¯ã䜿çšããç°å¢ã§ã¯ãäžå®å®ãªæé©åãã¥ãŒãªã¹ãã£ãã¯ã«ã€ãªãããŸãããããã®æ§é çãªäžæŽåã¯ãå¶åŸ¡ãããŒã«é¢ããèå¯ã§èª¬æãããŠããäºæž¬äžå¯èœãªãã¿ãŒã³ãåæ ããŠãããè€åçãªå€åãäžè²«ããæé©åãé»å®³ããŸãã
ã¯ã©ã¹ããŒããŒãšã¿ã€ããããã¡ã€ã«ã®çžé¢é¢ä¿ã«ããæçåã®ç¹å®
ã¯ã©ã¹ããŒããŒã®æçåã軜æžããããã®æåã®ã¹ãããã¯ãåé·ãŸãã¯ç«¶åããã¯ã©ã¹å®çŸ©ã®çºçæºãç¹å®ããããšã§ããå€ãã®ã·ã¹ãã ã§ã¯ãæ§æã®äžäžèŽããã«ãã¢ãŒãã£ãã¡ã¯ãã®äžè²«æ§ã®æ¬ åŠããããã¯äŸåé¢ä¿ã®ã·ã§ãŒãã£ã³ã°æ¹æ³ãªã©ã«ãã£ãŠãã¯ã©ã¹ã®éè€ãæå³ããçºçããŸãããããã®éè€ãç°ãªãã¯ã©ã¹ããŒããŒã§ããŒãããããšãåŒã³åºããµã€ãã§ã®åå¯åºŠãäžæããJITåŠçã«æ··ä¹±ãçããŸãã
çžé¢é¢ä¿ãåæããã«ã¯ãã¯ã©ã¹ããŒããŒã®éå±€æ§é ãåãããã¡ã€ã«ãããã³JFRã¯ã©ã¹ããŒãã€ãã³ãã調ã¹ãå¿ èŠããããŸããã¯ã©ã¹ããŒããŒIDãšåã®äœ¿çšãã¿ãŒã³ãæ¯èŒããããšã§ãã©ã®ã¢ãžã¥ãŒã«ããã¬ãŒã ã¯ãŒã¯ãåé·ãªã¯ã©ã¹ãå°å ¥ããŠããããç¹å®ã§ããŸãããã®åæã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã§æäŸãããæ§é çãªå¯èŠæ§ã«äŒŒãŠãããäŸåé¢ä¿ã®ãããã³ã°ã«ãã£ãŠé ããå®è¡åäœãæããã«ãªããŸãã
æçåãç¹å®ãããã°ãã¯ã©ã¹ããŒããŒã®çµ±åãäŸåé¢ä¿ã®ã·ã§ãŒãã£ã³ã°ä¿®æ£ãåé·ãªjarããªã¢ã³ãã®åé€ãªã©ã«ãã£ãŠãçµç¹ã¯æçåã«å¯ŸåŠããããšãã§ããŸããã¯ã©ã¹ããŒããŒã®å¢çæ°ãæžããããšã§ããããã¡ã€ãªã³ã°ã®å¿ å®åºŠãåäžããæšæž¬ã«åºã¥ãä»®å®ã«å¯ŸããJITã®ä¿¡é Œæ§ãå埩ããŸãã
ã¯ã©ã¹ããŒããŒãçµ±åããŠåã®çžéãæå°éã«æãã
å€ãã®ãšã³ã¿ãŒãã©ã€ãºãã¬ãŒã ã¯ãŒã¯ã¯ãã¢ãžã¥ãŒã«ããã©ã°ã€ã³ããŸãã¯ããã³ãåºæã®ã³ã³ããŒãã³ãå°çšã®ã¯ã©ã¹ããŒããŒãäœæããŸããããã«ããæ©èœã®åé¢ãå®çŸãããäžæ¹ã§ãã·ã¹ãã å šäœã§åã·ã°ããã£ãéè€ããããšã«ãªããŸãããããã®ã¯ã©ã¹ããŒããŒãçµ±åããããšã§ãå·®ç°ã軜æžããããããã¡ã€ãªã³ã°ããŒã¿ãç°¡çŽ åãããŸãããã®çµ±åã«ã¯ããã©ã°ã€ã³ã¢ãŒããã¯ãã£ã®èª¿æŽãã¢ãžã¥ãŒã«ã®ããŒãã®äžå åãã³ã³ããã¬ãã«ã®ã¯ã©ã¹ããŒããŒéå±€ã®åæ§æãªã©ãå«ãŸããå ŽåããããŸãã
ã¯ã©ã¹ããŒããŒã®çµ±åã¯ãè€æ°ã®ã¢ãžã¥ãŒã«ãåäžãŸãã¯ã»ãŒåäžã®å ±æã©ã€ãã©ãªã«äŸåããŠããå Žåã«ç¹ã«å¹æçã§ãããããã®ã©ã€ãã©ãªãçµ±äžãããã¯ã©ã¹ããŒããŒã§ããŒãããããšã§ãã·ã¹ãã ã¯åã®ã€ã³ãã¬ãŒã·ã§ã³ãæå¶ããåäžåã®åŒã³åºãç®æãçºçããå¯èœæ§ãé«ããŸããããã¯ããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã§èª¬æãããŠããå¢çç°¡çŽ åã®ååã«åèŽããŠãããæ§é çãªå¢çãæç¢ºã«ãªãããšã§ã·ã¹ãã ã®äºæž¬å¯èœæ§ãåäžããŸãã
ãã ããçµ±åã¯æŠç¥çã«é©çšããå¿ èŠããããŸããäžéšã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãç«¶åããããŒãžã§ã³ãåé¢ããããã«åå¥ã®ã¯ã©ã¹ããŒããŒã䜿çšããŠããŸããããŒã ã¯ãç¹ã«éèŠãªå®è¡ãã¹ãæé©åããéã«ã¯ãæ©èœã®åé¢ãšããã©ãŒãã³ã¹ã®äžè²«æ§ãæ éã«æ€èšããå¿ èŠããããŸãã
ããã©ãŒãã³ã¹ãéèŠãªé åã§ã®åçã¯ã©ã¹ããŒããŒã®äœæã鲿¢ãã
åçãŸãã¯ã¢ãããã¯ãªã¯ã©ã¹ããŒããŒã®äœæã¯ãã©ã³ã¿ã€ã ã¢ãžã¥ãŒã«ããŒããã«ã¹ã¿ã ã¹ã¯ãªãããšã³ãžã³ããŸãã¯åçãªããžãã¹ããžãã¯ã«äŸåããã·ã¹ãã ã«ãããŠãæçåã®äž»ãªåå ãšãªããŸãããªã¯ãšã¹ãåŠçäžã«ã¯ã©ã¹ããŒããŒãäœæãããšãäºæž¬ã§ããªãåã®å€æ§æ§ãšã¯ã©ã¹ããŒãã€ãã³ããçºçããJITæé©åãäžå®å®ã«ãªããŸãããããã®æ £è¡ã¯ãã¬ã¬ã·ãŒãªæ¡åŒµãã¿ãŒã³ãåçæ§æã¡ã«ããºã ã«èµ·å ããŠããå¯èœæ§ããããŸãã
åçãªã¯ã©ã¹ããŒããŒã®çæãé²ãã«ã¯ãåçãªåäœãå¶åŸ¡ãããã·ã¹ãã å¢çã«ãªãã€ã¬ã¯ãããå¿ èŠããããŸããããã«ã¯ãèµ·åæã«ã¢ãžã¥ãŒã«ãããªããŒãããããã¯ã©ã¹ããŒããŒããã£ãã·ã¥ããããåçãªã¹ã¯ãªããè©äŸ¡ãã³ã³ãã€ã«æžã¿ãã³ãã¬ãŒããäºåã«çæãããã¯ã©ã¹ã«çœ®ãæãããããããšãå«ãŸããŸãããããã®æ¹åã¯ãè¿ä»£åããŒã«ã®æŠèŠã§æŠèª¬ãããŠããè¿ä»£åæŠç¥ãåæ ããŠãããæ§é çãªæŽç·Žã«ãã£ãŠå®è¡æã®å®å®æ§ãåäžããŸãã
å®è¡äžã«ã¯ã©ã¹ ããŒããŒãéçã®ãŸãŸã§ããããšãä¿èšŒããããšã«ãããçµç¹ã¯ã¯ã©ã¹å®çŸ©ã®å€åæ§ãæžãããJIT ã®äžè²«æ§ãåäžãããŸãã
ã¢ãžã¥ãŒã«ã®ãªãã¡ã¯ã¿ãªã³ã°ãšäŸåé¢ä¿ã®å調æŽã«ããæçåã®åæž
ã¯ã©ã¹ããŒããŒã®æçåã¯ãå€ãã®å Žåãå®éã®å®è¡ãã¿ãŒã³ãåæ ããŠããªãã¢ãžã¥ãŒã«å¢çã«èµ·å ããŸããã¢ãžã¥ãŒã«ãè«ççã«åé¢ãããŠããã«ãããããããå®è¡æã«é »ç¹ã«çžäºäœçšããå Žåãã¯ã©ã¹ããŒããŒã®åé¢ã«ãã£ãŠåã°ã©ãã®ç«¶åãçºçããŸãããã®äžäžèŽã«ããã倿 çãªåŒã³åºããµã€ããçºçããå¯èœæ§ãé«ãŸããã³ã³ãã€ã©ã®å¹ççãªæé©åèœåãäœäžããŸãã
ã¢ãžã¥ãŒã«ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãäŸåé¢ä¿ãšå®è¡ãããŒãå調æŽããŸããããŒã ã¯ã¢ãžã¥ãŒã«ã®éå±€æ§é ã調æŽããããå ±æããžãã¯ãå®å®ããã³ã¢ã©ã€ãã©ãªã«ç§»åããããã¢ãžã¥ãŒã«éã§äŸåé¢ä¿ã®ããŒãžã§ã³ãçµ±äžãããã§ããŸãããããã®åãçµã¿ã¯ãããã°ã¬ã¹ãããŒã®å®è·µã§æšå¥šãããŠããæ§é çãªæ¹åãåæ ããŠãããå¢çãåç·šæããããšã§ã·ã¹ãã ã®è匱æ§ã軜æžããå®è¡ãã¹ãæç¢ºã«ããŸãã
ãªãã¡ã¯ã¿ãªã³ã°ã¯ãã¯ã©ã¹ããŒããŒã®é·ç§»é »åºŠãæžãããåã®åå²ãé²ããé »ç¹ã«åŒã³åºãããã³ã³ããŒãã³ãã®å®çŸ©ã®äžè²«æ§ã確ä¿ããŸãããã®çµæãJITææ©çæé©åã®èä¹ æ§ãåäžããã·ã¹ãã å šäœã§éæé©åã€ãã³ãã®é »åºŠãæžå°ããŸãã
åå²ãšããŒã¿ãããŒã®äžå®å®æ§ãäœæžããŠå®å®ããããããã¹ãæ§ç¯ãã
å®å®ããããããã¹ã¯ãäºæž¬å¯èœãªå¶åŸ¡ãããŒãšäžè²«ããããŒã¿ãããŒç¹æ§ã«äŸåããŸããJITã³ã³ãã€ã©ã¯ãå®è¡ãã¿ãŒã³ãå®å®ããŠãããåå²çµæãçãååžã«åŸãå Žåã«æã广çã«æé©åãè¡ããŸããããããå€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³ã§ã¯ããã£ãŒãã£ãŒãã©ã°ãæ§æãœãŒã¹ãæ¡ä»¶ä»ãæ€èšŒãã¯ãŒã¯ããŒãäŸåã®åäœãªã©ã«ãã£ãŠãåå²ã®å€åãé »ç¹ã«çºçããŸãããããã®å€åã¯ããããã¡ã€ãªã³ã°ã®å®å®æ§ãæãªããæšæž¬ã«åºã¥ãä»®å®ã匱ããŸãããã®äºæž¬äžå¯èœæ§ã¯ããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§èª¬æãããŠããæ§é çãªèª²é¡ã«äŒŒãŠããŸããããã§ã¯ã埮åŠã§åæ£ããé¢ä¿ããã·ã¹ãã ãã¹ãã¬ã¹äžã§ã©ã®ããã«åäœãããã«åœ±é¿ãäžããŸããããããã¹ã§äžè²«æ§ã®ãªãåå²ãäžèŠåãªããŒã¿ãããŒãçºçãããšãæé©åãè§£é€ãããå¯èœæ§ãã¯ããã«é«ããªããŸãã
ããŒã¿ãããŒã®å€åæ§ã¯ãç¶æ³ãããã«è€éåãããŸãããã€ããŒãã®åœ¢ç¶ããªããžã§ã¯ãã®ã©ã€ããµã€ã¯ã«ããŸãã¯ããŒã¿ã«ãŒãã£ã³ã°ã®éãã«ãããJIT ã¯ã¬ãŒããçæããŸãããå®éã®ã¯ãŒã¯ããŒãã§ã¯å€±æããå¯èœæ§ããããŸããJVM ã³ã³ãã€ã©ã¯ãå®å®ããå²ãåœãŠãã¿ãŒã³ãäºæž¬å¯èœãªãªããžã§ã¯ã圢ç¶ãããã³äžè²«ãããã£ãŒã«ãã¢ã¯ã»ã¹åäœã«äŸåããããšããããããŸããããããäºæž¬äžå¯èœãªæ¹æ³ã§å€åãããšãæé©åããããã¬ãŒã ãç¡å¹ã«ãªããJIT ã¯è§£éå®è¡ãŸãã¯äžäœå±€å®è¡ã«ãã©ãŒã«ããã¯ããŸãããããã®ãã€ããã¯ã¹ã¯ãå¯å€å ¥åãæé©åã®æ©äŒãæãªãå¶åŸ¡ãããŒã®æŽå¯ã«èŠãããäžå®å®ãªãã¿ãŒã³ãåæ ããŠããŸãããã®å€åæ§ãäœæžããããšã§ãããããã¹ãäºæž¬å¯èœã«ãªããææ©çæé©åã®èä¹ æ§ãåäžããŸãã
ç°ãªãã¯ãŒã¯ããŒãã§å€åãããã©ã³ããããã¹ãããã®æ€åº
åå²ãããã¹ãããã¯ãå ¥åããŒã¿ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ããŸãã¯åäœã¢ãŒãã«å¿ããŠåå²åäœãå€åããå Žåã«çºçããŸããäŸãã°ããã£ãŒãã£ãŒãã°ã«ã«ãã£ãŠæ°ããã³ãŒããã¹ãå°å ¥ãããããã«ãŒãã£ã³ã°ããžãã¯ã顧客屿§ã«ãã£ãŠå€åããããããŒã¯è² è·æã«ãªãã·ã§ã³æ¡ä»¶ãæ¯é çã«ãªã£ããããå ŽåããããŸãããããã®ãã¿ãŒã³ã¯ãJITã«ããåå²äºæž¬ãšå®è¡å¯èœæ§ã®çè§£ãäžå®å®ã«ããŸãã
æ€åºã«ã¯ãåæãã¹ãã§ã¯ãªããå®éã®éçšç°å¢äžã§ã®åå²ååžã®ç£èŠãå¿ èŠã§ããããŒã ã¯ãJFRèšé²ãå¶åŸ¡ãããŒã°ã©ããå®è¡ãã¬ãŒã¹ãåæããŠãå岿±ºå®ãæéãšãšãã«ã©ã®ããã«å€åãããã倿ã§ããŸããããã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã«èšèŒãããŠããé¢ä¿ãããã³ã°ã®ååãšé¢é£ããŠãããäžæµãšäžæµã®åœ±é¿ãçè§£ããããšãéµãšãªããŸããç¹å®ãããäžå®å®ãªåå²ã¯ãåç·šæãæœåºããŸãã¯éé¢ããããšã§ãããããã¹ãäºæž¬äžèœãªåäœããä¿è·ã§ããŸãã
å®éã®ãªãã¡ã¯ã¿ãªã³ã°ã§ã¯ãæ¡ä»¶ãããã¯ã®åå²ãåçåå²ãåé¿ããé«éãã¹ããžãã¯ã®å°å ¥ããããã¯ã¢ãŒãäŸåã®åäœãå®å®ããæœè±¡åã®èåŸã«åé¢ããããšãªã©ãé »ç¹ã«è¡ãããŸãããããã®èª¿æŽã«ãããããããã¹ãäžè²«ããåå²ãããã¡ã€ã«ã瀺ãããã«ãªããæé©åè§£é€ã®ããªã¬ãŒãæžå°ããŸãã
å ¥åã®æ£èŠåãšãªããžã§ã¯ã圢ç¶ã®å€åã®äœæžã«ããããŒã¿ãããŒã®å®å®å
ããŒã¿ãããŒã®äžå®å®æ§ã¯ãå€ãã®å Žåããªããžã§ã¯ãã®åœ¢ç¶ããã€ããŒãæ§é ããŸãã¯ããŒã¿ã«ãŒãã£ã³ã°ã®äžæŽåã«èµ·å ããŸããJVMããã£ãŒã«ãå¯åºŠãã¬ã€ã¢ãŠããå€åãããªããžã§ã¯ãã«ééãããšãã€ã³ã©ã€ã³ãã£ãã·ã¥ããã£ãŒã«ãã¢ã¯ã»ã¹ã®ç¹æ®åãšãã£ãææ©çãªæé©åãæ©èœããªããªããŸãããããã®æ©èœäžå šã¯ãç¹ã«è€éãªã·ãªã¢ã«åãã€ãã©ã€ã³ãç°çš®ããŒã¿åœ¢åŒãæã€ã·ã¹ãã ã«ãããŠãç¹°ãè¿ãã®åã³ã³ãã€ã«ã«ã€ãªãããŸãã
ããŒã¿ãããŒã®å®å®åã¯ãå ¥åããŒã¿ã®æ£èŠåãšãªããžã§ã¯ãäœæã®å¹çåããå§ãŸããŸããããŒã ã¯ãæšæºçãªããŒã¿æ§é ãå°å ¥ãããããªããžã§ã¯ãããŒã«ãåå©çšããããé »ç¹ã«äœ¿çšããããªããžã§ã¯ã圢ç¶ãäºåã«å²ãåœãŠããããããšãã§ããŸãããããã®æŠç¥ã«ãããç¹æ®åã®å€±æãæžããã³ã³ãã€ã©ããã£ãŒã«ãã¢ã¯ã»ã¹ã«é¢ããå®å®ããæåŸ å€ãç¶æã§ããããã«ãªããŸãããã®ã¢ãããŒãã¯ããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã§èª¬æãããŠããè¿ä»£åã®ååãšäžèŽããŠãããäºæž¬å¯èœãªããŒã¿ç§»åãéçšå®å®æ§ã®ç¢ºä¿ã«åœ¹ç«ã¡ãŸãã
ããŒã¿ãããŒã®å€åæ§ãäœæžããã«ã¯ãåçããŒã¿è§£æã®å¶éãæ¡ä»¶ä»ããªããžã§ã¯ãæ§ç¯ã®æå°åããããŠå¯èœãªéãäºåæ€èšŒæžã¿ã®ãã€ããŒãã®å©çšãå¿ èŠã§ãããããã®æ¹è¯ã«ãããJITã®ä»®å®ãå®å®ããæé©åããããã¬ãŒã ã®å¯¿åœãå»¶ã³ãŸãã
æ¡ä»¶æã®èåŸã«é ããããã©ãŒãã³ã¹ã«é倧ãªåœ±é¿ãäžããäœéãã¹ã®æé€
äœéãã¹ã¯ããã°ãã°çºçé »åºŠã®äœãæ¡ä»¶ãããã¯ã®èåŸã«é ããŠããŸããéåžžã®åäœã§ã¯ã»ãšãã©çºçããªããããããŸããããééãããšä»®å®ãç¡å¹ã«ããŸããããããã¹ã«çºçé »åºŠã¯äœããã®ã®è€éãªäœéãã¹ã1ã€ã§ãå«ãŸããŠããå ŽåãJITã¯ãããèæ ®ããŠä¿å®çãªã¬ãŒããçæããå¿ èŠããããŸãããããã¯ã·ã§ã³äžã«äœéãã¹ãã¢ã¯ãã£ãã«ãªããšããããã®ã¬ãŒãã¯æ©èœããã匷å¶çã«æé©åè§£é€ãè¡ãããŸãã
ããŒã ã¯ãããã©ãŒãã³ã¹ãéèŠãªã³ã¢ãããããã®äœéãã¹ã®å±éºãç¹å®ããæé€ããå¿ èŠããããŸããéçè§£æã§ã¯ããããã«ãŒãå ã«ãã¹ããããæ¡ä»¶ä»ãããžãã¯ãæããã«ãªããã©ã³ã¿ã€ã ãããã¡ã€ãªã³ã°ã§ã¯ãããŸããŸãªã¯ãŒã¯ããŒãã§ã©ã®äœéãã¹ãã¢ã¯ãã£ãã«ãªããã瀺ãããŸãããã®ç·åçãªèŠç¹ã¯ãã·ã¹ãã å šäœã®å£åãé¿ããããã«ã¬ã¬ã·ãŒåäœãåé¢ããå¿ èŠããããšãããã¢ããã€ãŒãŒã·ã§ã³ããŒã«ã®æŠèŠã«èšèŒãããŠããã·ã¹ãã å šäœã®æŽå¯ãšå¯æ¥ã«äžèŽããŠããŸãã
ãªãã¡ã¯ã¿ãªã³ã°ã«ã¯ãå€ãã®å Žåãäœéãã¹ãå€éšãã³ãã©ã«æœåºããããé«éãã¹ã®ãã€ãã¹ãå°å ¥ããããæ©èœããžãã¯ãåæ§æãããããããšãå«ãŸããŸããäžè¬çãªã·ããªãªã«ãããŠãããããã¹ã®ã¿ãã¢ã¯ãã£ãã®ãŸãŸã§ããã°ãææ©çæé©åã®èä¹ æ§ã¯é«ãŸããŸãã
æ§é ã®ç°¡çŽ åã«ããããããã¹ã®äºæž¬å¯èœæ§ã®ç¶æ
æ§é ã®ç°¡çŽ åã«ãããããããã¹ãæéã®çµéãšãšãã«å®å®ããŸããããã«ã¯ãããã©ãŒãã³ã¹ãéèŠãªé ååšèŸºã®è€éãã®åæžãã«ãŒãã®ç°¡çŽ åãããžãã¯ã®çµ±åããããŠäžç¢ºå®æ§ããããã鿥局ã®åé€ãå«ãŸããŸããJITã³ã³ãã€ã©ã¯ãã³ãŒã«ã°ã©ããšå岿§é ãã³ã³ãã¯ãã§äžè²«æ§ãããå Žåã«æé«ã®ããã©ãŒãã³ã¹ãçºæ®ããŸãã
ç°¡çŽ åã«ãã£ãŠãåææ¡ä»¶ãç Žç¶»ããå¯èœæ§ã®ããç®æãæžããæé©åè§£é€ã€ãã³ãã®ãªã¹ã¯ç¯å²ãçž®å°ããŸãããã®ææ³ã®é©çšã¯ãã·ã¹ãã ã³ã³ããŒãã³ãã®åç·šæã«ãã£ãŠä¿¡é Œæ§ãåäžãããšãããããã°ã¬ã¹ãããŒã®å®è·µã§åŒ·èª¿ãããŠããå¢ç粟緻åæè¡ãåæ ããŠããŸããããããã¹ã«æ§é çãªäºæãã¬åé¡ãå°ãªãå ŽåãJITã®ãããã¡ã€ãªã³ã°ããŒã¿ã¯ãã³ãŒãé²åãµã€ã¯ã«å šäœã«ããã£ãŠæ£ç¢ºãã€æç¶å¯èœãªç¶æ ãç¶æããŸãã
å埩çãªç°¡çŽ åãéããŠãçµç¹ã¯æ©èœãé²åããŠãå®å®ããããããã¹ãæ§ç¯ã§ããŸããåå²ãšããŒã¿ãããŒã®å€åæ§ãäœæžããããšã§ãææ©çãªéå®³ã®æžå°ãå®åžžç¶æ ã®ããã©ãŒãã³ã¹åäžã忣ã¯ãŒã¯ããŒãå šäœã®äºæž¬å¯èœæ§ã®åäžãå®çŸããŸãã
äŸåæ§ãèæ ®ãããªãã¡ã¯ã¿ãªã³ã°ã«ããé·æçãªæé©åã®å®è£
é·æã«ãããæé©åã¯ãJVMãé·æéã«ããã£ãŠå®å®ããæ§é ãã¿ãŒã³ãšåäœââãã¿ãŒã³ãå©çšã§ããå Žåã«æåããŸããããããå€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã ã§ã¯ãç¶ç¶çãªéçºã«ãã£ãŠé »ç¹ã«å€æŽãçãããããã®åæã厩ããŠããŸããŸããããããªãªãã¡ã¯ã¿ãªã³ã°ãäŸåé¢ä¿ã®å€æŽã§ãæé©åç¶æ ãç¡å¹ã«ãªããJITãã³ã³ãã€ã«æžã¿ãã¬ãŒã ãç Žæ£ããŠè§£æãã€ãã©ã€ã³ãåèµ·åããäºæ ãçºçããå¯èœæ§ããããŸããããããæ··ä¹±ã¯ããœãããŠã§ã¢ã€ã³ããªãžã§ã³ã¹ã®æŠèŠã§èª¬æãããŠããã·ã¹ãã ã¬ãã«ã®è€éããåæ ããŠãããçžäºæ¥ç¶ãããã³ã³ããŒãã³ããç°ãªãé床ã§é²åããŸããäŸåé¢ä¿ãèæ ®ãããªãã¡ã¯ã¿ãªã³ã°ã¯ãã³ãŒãããŒã¹å šäœã«å€æŽãã©ã®ããã«äŒæããããå¶åŸ¡ããããšã§ãã¢ãŒããã¯ãã£ã®å€æŽãJITæé©åãäžå®å®åãããã®ã§ã¯ãªã匷åããããšãä¿èšŒããŸãã
å€ãã®ã·ã¹ãã ã§ã¯ãè€æ°ã®ã¢ãžã¥ãŒã«ãããŒã ã«ãŸãããé ããäŸåé¢ä¿ãã§ãŒã³ãèç©ãããŸãããããã®äŸåé¢ä¿ã調æŽãªãã«é²åãããšãå®è¡ãã¹å šäœã§åäœã®äžæŽåãåã®ã°ãã€ããçããŸããããããå€åã¯ãåå²äºæž¬ãã€ã³ã©ã€ã³åã®å®å®æ§ããããã¡ã€ãªã³ã°ã®ç²ŸåºŠãæãªããŸããçµæãšããŠçããããã©ãŒãã³ã¹ã®äœäžã¯ãå¶åŸ¡ãããŒã«é¢ããèå¯ã§åŒ·èª¿ãããŠããäºæž¬äžå¯èœãªãã¿ãŒã³ã«äŒŒãŠãããåå²ãæ§é çãªå€åãå®è¡æã®æ³å®ãå±ããããŸããäŸåé¢ä¿ãèæ ®ãããªãã¡ã¯ã¿ãªã³ã°ã¯ãããããäžæŽåã軜æžãããªãªãŒã¹éã§æé©åãããããã©ãŒãã³ã¹ãç¶æããäºæž¬å¯èœãªå®è¡ç°å¢ãæ§ç¯ããããšã«éç¹ã眮ããŠããŸãã
äŸåé¢ä¿ãããã³ã°ã䜿çšããŠé·æçãªæé©åã®éå£ãç¹å®ãã
é·æçãªæé©åãç¶æããããã®ç¬¬äžæ©ã¯ãæé©åã®èä¹ æ§ãé»å®³ããäŸåé¢ä¿ãç¹å®ããããšã§ããããããäŸåé¢ä¿ã®å€ãã¯ãã³ãŒãã¬ãã¥ãŒæã«ã¯ç¡å®³ã«èŠããŸãããå®è¡æã«ã¯äžå®å®ãããããããŸããããã«ã¯ãã¢ãžã¥ãŒã«éãŠãŒãã£ãªãã£ãé »ç¹ã«å€æŽãããã€ã³ã¿ãŒãã§ãŒã¹ãåçã«ãŒãã£ã³ã°å±€ãäºæž¬äžå¯èœãªåŒã³åºãæ§é ãçæãããã¬ãŒã ã¯ãŒã¯ãªã©ãå«ãŸããŸãã
äŸåé¢ä¿ãããã³ã°ã¯ãããã©ãŒãã³ã¹ã«éèŠãªãã¹ã«åœ±é¿ãäžããã¢ãžã¥ãŒã«ãšã倿Žãã©ã®çšåºŠäŒæããããããŒã ãçè§£ããã®ã«åœ¹ç«ã¡ãŸãããã®åæã¯ãã³ãŒããã¬ãŒãµããªãã£ã¬ã€ãã§èª¬æãããŠããé¢ä¿è¿œè·¡ã®ååã«åèŽããŠãããäžæµããã³äžæµã®åäœãå¯èŠåããããšãäžå¯æ¬ ã§ããã©ã®äŸåé¢ä¿ãæãé »ç¹ã«æé©åè§£é€ãåŒãèµ·ããããç¹å®ããããšã§ãããŒã ã¯å®å®åäœæ¥ã®åªå é äœãä»ããæé©åã®å¹æãããé·æéç¶æããããšãã§ããŸãã
ãããã³ã°ã«ãããäžå®å®ãªã³ã³ããŒãã³ããåé¢ããããéå±€åãããããžãã¯ãåç·šæãããããããã¡ã€ãªã³ã°ãã¿ãŒã³ãç¹°ãè¿ã倿Žããåäœãçµ±åãããããæ©äŒãæããã«ãªããŸãããããã®æŽå¯ã¯ãæé©åã®ã¬ãžãªãšã³ã¹ïŒå埩åïŒãé«ããæ§é çãªæ¹åãžãšã¢ãŒããã¯ããå°ããŸãã
é »ç¹ãªãªãã¡ã¯ã¿ãªã³ã°ããããããã¹ãä¿è·ããããã®å®å®ããã€ã³ã¿ãŒãã§ãŒã¹ã®äœæ
å ±æã€ã³ã¿ãŒãã§ãŒã¹ã®é »ç¹ãªå€æŽã¯ãéæé©åã«ã¹ã±ãŒãã®äž»ãªåå ã§ããããããã¹ã§äœ¿çšãããã€ã³ã¿ãŒãã§ãŒã¹ãé²åãããšãããããªèª¿æŽã§ãããæé©åãããã³ãŒãã«åã蟌ãŸããæšæž¬çãªä»®å®ãç¡å¹ã«ããå¯èœæ§ããããŸãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãå®å®åããããšã§ãã·ã¹ãã ã®ä»ã®éšåã§ã®å€æŽããããã©ãŒãã³ã¹ãéèŠãªå®è¡ãããŒãæå³ããäžæããããšãé²ããŸãã
å®å®åã€ã³ã¿ãŒãã§ãŒã¹ã¯ãåäœã®ææ§ããå¶éãããå³å¯ã«å®çŸ©ãããçãå¥çŽã§ããå®è£ ã®æ°ãå¶éããäžè²«ããåãããã¡ã€ã«ãç¶æããåå²ã®ããªãšãŒã·ã§ã³ãæå°éã«æããŸãããããã®ååã¯ãæç¢ºãªå¢çã«ãã£ãŠèšèšäžã®åé¡ãé£éçã«çºçããã®ãé²ãããšã³ã¿ãŒãã©ã€ãºçµ±åãã¿ãŒã³ã«èŠããããã¹ããã©ã¯ãã£ã¹ãåæ ããŠããŸããäžå®å®ãªåäœãå®å®ããçµè·¯ããåé¢ããããšã§ãããŒã ã¯é·æçãªJITæé©åãæ¯ããäºæž¬å¯èœæ§ãçã¿åºããŸãã
å®å®åã€ã³ã¿ãŒãã§ãŒã¹ã®å®è£ ã«ã¯ãåºç¯ãªæœè±¡åã®åå²ãã·ãŒã«åã®å°å ¥ãåçæ©èœããããã³ãŒãããåé¢ããããšãªã©ãå«ãŸããå ŽåããããŸããããã«ãããæé©åã®åœ±é¿ãåããé åãé »ç¹ãªãªãã¡ã¯ã¿ãªã³ã°ã€ãã³ãããéé¢ãããç¶æ ãç¶æã§ããŸãã
å®è¡ãèæ ®ããã¢ãžã¥ãŒã«èšèšã«ããæé©åã®è匱æ§ã®äœæž
åŸæ¥ã®ã¢ãžã¥ãŒã«èšèšã¯æ©èœå¢çã«éç¹ã眮ããŠããŸãããäŸåé¢ä¿ãèæ ®ãããªãã¡ã¯ã¿ãªã³ã°ã¯å®è¡å¢çãéèŠããŸããã¢ãžã¥ãŒã«ã¯ãè² è·æã®æåãäºæž¬å¯èœã§å®å®ããææ©çæé©åãšäºææ§ãæã€ããã«èšèšããå¿ èŠããããŸãããã®ã¢ãããŒãã¯ãæ®çºæ§ã®é«ãã¢ãžã¥ãŒã«ãããã©ãŒãã³ã¹ã極ããŠéèŠãªå®è¡ãã¹ã®è¿ãã«ããå Žåã«çããè匱æ§ã«å¯ŸåŠããŸãã
å®è¡ãèæ ®ããã¢ãžã¥ãŒã«èšèšã¯ãã¢ãžã¥ãŒã«éã®ãžãã¿ãŒãæå°éã«æããããã¢ãžã¥ãŒã«ã®å€æŽãå¥ã®ã¢ãžã¥ãŒã«ã®å®è¡ç¹æ§ã«äºæãã¬å€åããããããªãããã«ããŸããããã¯ãã·ã¹ãã ã®åæ§ç¯ã«ãã£ãŠã©ã³ã¿ã€ã ã®å®å®æ§ãåäžããããè¿ä»£åããŒã«ã®æŠèŠã§åŒ·èª¿ãããŠããè¿ä»£åæŠç¥ã«äŒŒãŠããŸããã¢ãžã¥ãŒã«ãæ©èœã®ã¿ã«åºã¥ããŠã§ã¯ãªããå®è¡æ¹æ³ã«åºã¥ããŠåç·šæããããšã§ãããŒã ã¯æ©èœãé²åããŠãå®å®ãããããã¡ã€ãªã³ã°ãã¿ãŒã³ãç¶æã§ããŸãã
ãã®ã¢ãã«ã«åºã¥ããªãã¡ã¯ã¿ãªã³ã°ã«ã¯ãåçåäœã®åé¢ãã¢ãžã¥ãŒã«ã®è²¬ä»»ã®å調æŽããããã¯ããªã¢ãŒãã£ãã¯ãªæ¡åŒµãçã¿åºãç¶æ¿éå±€ã®åç·šæãªã©ãå«ãŸããŸãããããã®æ¹åã«ããã1ã€ã®ã¢ãžã¥ãŒã«ã®å€æŽãåºç¯å²ã«ãããéæé©åã€ãã³ããåŒãèµ·ããå¯èœæ§ãäœæžãããŸãã
ããŒãžã§ã³ç®¡çãšäºæž¬å¯èœãªäŸåãã¹ã«ããæé©åã®å®å®æ§ã®ç¢ºä¿
äžå®å®æ§ã®åå ãšããŠèŠèœãšãããã¡ãªã®ããã¢ãžã¥ãŒã«éã§äŸåé¢ä¿ã®ããŒãžã§ã³ãäžèŽããŠããªãããšã§ããããŒãžã§ã³ã®äžäžèŽããããã§ãçºçãããšãåã®çžéãäºæž¬äžå¯èœãªããŒã¿ãããŒããããŠå®è¡æã®åäœã®ç«¶åãåŒãèµ·ãããæé©åã®ä¿¡é Œæ§ãäœäžãããŸããç¹ã«ãå€§èŠæš¡ãªãªããžããªãè€æ°ããŒã ã§æ§æãããç°å¢ããããã¯ã¬ã¬ã·ãŒã³ã³ããŒãã³ããšææ°ã³ã³ããŒãã³ãã®äž¡æ¹ãçµ±åããã·ã¹ãã ã§ã¯ãããŒãžã§ã³ã®äžäžèŽã倧ããªåé¡ãšãªããŸãã
ããŒãžã§ã³ã®äžè²«æ§ã確ä¿ããããšã§ãåã°ã©ãããªããžã§ã¯ãã®ã©ã€ããµã€ã¯ã«ãããã³åäœã«é¢ããæåŸ å€ã®äžè²«æ§ãç¶æã§ããŸããäŸåé¢ä¿ã®ãã¹ãäºæž¬å¯èœã§ããã°ããããã¡ã€ãªã³ã°ããŒã¿ã¯ããæ£ç¢ºã«ãªãããããã€ã¡ã³ãå šäœã«ããã£ãŠæç¶å¯èœã«ãªããŸãããã®äžè²«æ§ã¯ãããã°ã¬ã¹ãããŒã®å®è·µã§ç€ºãããŠããæ§é çãªä¿¡é Œæ§ã®åäžãåæ ããŠãããäºæž¬å¯èœãªå¢çã«ãã£ãŠã·ã¹ãã ã®è匱æ§ã軜æžãããŸããããŒãžã§ã³ããã¯ãäŸåé¢ä¿ã®èª¿åãããã³äžå åãããäŸåé¢ä¿ã¬ããã³ã¹ã¯ãã¹ãŠãå®å®æ§ã«è²¢ç®ããŸãã
äºæž¬å¯èœãªäŸåé¢ä¿ãã¹ãç¶æããå€åæ§ãäœæžããããšã§ãçµç¹ã¯JITæé©åããªãªãŒã¹éã§æå¹ã«ä¿ã€ããšãã§ããŸããããã«ãããå®è¡æã®ãã£ãŒã³ãäœæžããæé©åè§£é€ã®é »åºŠãæå°éã«æããããé·æçãªããã©ãŒãã³ã¹ã®äžè²«æ§ã確ä¿ãããŸãã
Smart TS XL: ã·ã¹ãã å šäœã®äŸåé¢ä¿ã®æŽå¯ã«ãã JIT åäœã®å®å®å
GraalVMãšOpenJ9ã«ãããããªããã£ãã€ãŒãŒã·ã§ã³ã«ã¹ã±ãŒãã®åæžã«ã¯ãåé¡ã®ããã¡ãœãããããã€ã屿çã«èª¿æŽããã ãã§ã¯äžååã§ããåãã¢ãžã¥ãŒã«ããã¬ãŒã ã¯ãŒã¯ããããŠã©ã³ã¿ã€ã åäœãå€§èŠæš¡ã«ã©ã®ããã«çžäºäœçšããããçè§£ããããšãäžå¯æ¬ ã§ããå€§èŠæš¡ãªJVMç°å¢ã®å€ãã§ã¯ããã®ã¬ãã«ã®å¯èŠæ§ãæåã§å®çŸããããšã¯äžå¯èœã§ããäŸåé¢ä¿ã¯ããŒã ã®å¢çãè¶ããå ±æãŠãŒãã£ãªãã£ã¯çµ¶ããé²åãããã¬ãŒã ã¯ãŒã¯ã¯éçºè ãäºæããªãæ¹æ³ã§ã³ãŒã«ã°ã©ãã倿Žããåçãªåäœãæ³šå ¥ããŸããSmart TS XLã¯ãã¢ããªã±ãŒã·ã§ã³ã©ã³ãã¹ã±ãŒãå šäœã«ãããæ§é çããã³åäœçãªæŽå¯ãæäŸããã³ãŒãã®é¢ä¿ãšã©ã³ã¿ã€ã ããã©ãŒãã³ã¹ãžã®åœ±é¿ãçžé¢ãããããšã§ãæé©åäœæ¥ã屿çãªçç¶ã§ã¯ãªãJITã®äžå®å®æ§ã®çã®åå ã«çŠç¹ãåœãŠãããããã«ããããšã§ããã®ã®ã£ãããè§£æ¶ããŸãã
åŸæ¥ã®ãããã¡ã€ã©ããæéãã©ãã§è²»ããããŠããããã瀺ãã®ã«å¯ŸããSmart TS XLã¯ããªãããã§æé©åã倱æããã®ããã«çŠç¹ãåœãŠãŸããã³ãŒã«ã°ã©ããåã®äœ¿çšãã¿ãŒã³ãã¢ãžã¥ãŒã«å¢çãå ±æäŸåé¢ä¿ãåæããããšã§ãæšæž¬çãªä»®å®ãã©ã®ããã«åœ¢æãããã©ãã§ãããç¡å¹ã«ãªãå¯èœæ§ãæãé«ãããçè§£ããŸããã©ã³ã¿ã€ã ã®èšŒæ ãšçµã¿åãããããšã§ããã®æ§é çãªèŠç¹ã«ãããã¢ãŒããã¯ãã¯æé©åè§£é€ã®ãªã¹ã¯ãçã«äœæžãããªãã¡ã¯ã¿ãªã³ã°äœæ¥ã®åªå é äœä»ããè¡ãããšãã§ããŸãããã®ã¢ãããŒãã¯ãå®è¡æã®æåå¯èŠåã«é¢ããèšäºïŒå®è¡æã®æŽå¯ãã¢ããã€ãŒãŒã·ã§ã³ãå éãããæ¹æ³ã匷調ïŒãããœãããŠã§ã¢ã®ããã©ãŒãã³ã¹ææšã«é¢ããè°è«ïŒããã©ãŒãã³ã¹ãäºåŸå¯Ÿå¿ã§ã¯ãªãã¬ããã³ã¹ã®è²¬ä»»ãšããŠæããïŒãªã©ã®æ¢åã®ãªãœãŒã¹ã§èª¬æãããŠããææ³ãè£å®ãããã®ã§ãã
éæé©åãã°ãšæ§é ãããã¹ãããã®çžé¢é¢ä¿
éæé©åãã°ãšJFRèšé²ã¯ãJITã®æ³å®ãã©ãã§ç Žç¶»ãããã«ã€ããŠã®è©³çŽ°ãªæ å ±ãæäŸããŸããããããã®å€±æã®åå ã説æããããšã¯ã»ãšãã©ãããŸãããã¢ããªã¹ãã¯ã¡ãœããåããã€ãã³ãŒãã€ã³ããã¯ã¹ãçç±ã³ãŒãã確èªã§ããŸããããããã®ã€ãã³ãã®èåŸã«ããæ§é çãªã³ã³ããã¹ãã¯äŸç¶ãšããŠäžæã§ããSmart TS XLã¯ãéæé©åã€ãã³ããåºç€ãšãªãã³ãŒã«ã°ã©ããåéå±€ãäŸåé¢ä¿æ§é ã«ãªã³ã¯ããããšã§ããã®ã®ã£ãããåããŸãããµãŒãã¹ãã¯ãŒã¯ããŒãå šäœã«ããã£ãŠãéæé©åããããã¬ãŒã ã«ç¹°ãè¿ãåºçŸããã€ã³ã¿ãŒãã§ãŒã¹ãå ±æãŠãŒãã£ãªãã£ããŸãã¯ãã¬ãŒã ã¯ãŒã¯ãšã³ããªãã€ã³ããç¹å®ã§ããŸãã
ãã®çžé¢é¢ä¿ã¯ãåãã¯ã©ã¹ãã¡ãœãããè€æ°ã®å®è¡ãã¹ã«é¢äžããç°å¢ã§ã¯ç¹ã«éèŠã§ãããŠãŒãã£ãªãã£ã¡ãœãããæ°ååã®ãããã«ãŒãã«ã€ã³ã©ã€ã³åãããŠããå Žåããã®åå²åäœãåäœ¿çšæ³ã®å€æŽã«ãã£ãŠãããããã¹ãŠãäžåºŠã«ç¡å¹ã«ãªãå¯èœæ§ããããŸããSmart TS XLã¯ãåæé©åè§£é€ãæ§é çãªãœãŒã¹ã«ãããã³ã°ããããšã§ãåäžã®äžå®å®ãªäŸåé¢ä¿ãåºç¯å²ã«ãããéå±€ã®å€åã®åå ãšãªã£ãŠããããšãããŒã ãèªèã§ããããã«æ¯æŽããŸãããã®ã·ã¹ãã å šäœã®ãã¥ãŒã¯ãè€éãªç°å¢ã«ãããæ ¹æ¬åå ãç¹å®ããããã«è€æ°ã®ã·ã°ãã«ãçµ±åããå¿ èŠãããã€ãã³ãçžé¢æè¡ã§è°è«ãããŠããååãšäžèŽããŠããŸãã
Smart TS XLã¯ã蚱容å¯èœãªããŒã«ã«ãªããªããã£ãã€ãŒãŒã·ã§ã³ãšãã¢ãŒããã¯ãã£äžã®ä¿®æ£ãå¿ èŠãªæ§é çãªé害ãåºå¥ããŸããäŸãã°ããšã©ãŒãã¹ã«ãããçšãªã¬ãŒããšã©ãŒã¯ãªãã¡ã¯ã¿ãªã³ã°ã®å¿ èŠæ§ã瀺åããªãäžæ¹ã§ã1ã€ã®å ±éæœè±¡åã«çµã³ä»ãããã倿°ã®ãµãŒãã¹ã§ç¹°ãè¿ãç¡å¹åãçºçããå Žåã¯ãã·ã¹ãã å šäœã®åé¡ã瀺åãããŸãããã®åªå é äœä»ãã«ãããããŒã ã¯ããªããã£ãã€ãŒãŒã·ã§ã³ã®é »åºŠãšããã©ãŒãã³ã¹ã®å€åæ§ãæå€§éã«äœæžã§ããæ§é 倿Žã«æ³šåã§ããŸãã
圱é¿ãèæ ®ããäŸåé¢ä¿ãããã³ã°ã䜿çšãããªãã¡ã¯ã¿ãªã³ã°äœæ¥ã®åªå é äœä»ã
å€§èŠæš¡çµç¹ã§ã¯ããªãã¡ã¯ã¿ãªã³ã°èœåãéãããŠãããç«¶åããåªå é äœã«ãããçè«äžã®ãªã¹ã¯ãã¹ãŠã«å¯ŸåŠããããšã¯çŸå®çã§ã¯ãããŸãããSmart TS XLã¯ãäŸåé¢ä¿ãã©ã®çšåºŠåºã䜿çšãããŠããããããããã¹ã«ã©ã®çšåºŠé »ç¹ã«åºçŸãããããããŠãã®äŸåé¢ä¿ãžã®å€æŽãéæé©åã€ãã³ããšã©ã®çšåºŠçžé¢ããŠããããå®éåããããšã§ã圱é¿ãèæ ®ããæææ±ºå®ããµããŒãããŸãããŸããã©ã®ã¢ãžã¥ãŒã«ãããã©ãŒãã³ã¹ã®ããã«ããã¯ãšãªã£ãŠãããããããŠã©ã®ã¢ãžã¥ãŒã«ãJITåäœãžã®åœ±é¿ãæå°éã§ãããã瀺ãã¢ãŒããã¯ãã£ããããæäŸããŸãã
ãã®æ©èœã«ããããªãã¡ã¯ã¿ãªã³ã°ã¯çŽæçãªäœæ¥ãããšããã³ã¹ã«åºã¥ãèšç»ãžãšç§»è¡ããŸããCPUã³ã¹ãã®é«ãã¡ãœããã®ã¿ã«çŠç¹ãåœãŠãã®ã§ã¯ãªãããããã¡ã€ãªã³ã°ã®äžå®å®æ§ãåã®ã€ã³ãã¬ãåŒãèµ·ããäŸåé¢ä¿ãã¿ãŒã²ããã«ããããšãã§ããŸããäŸãã°ãSmart TS XLã¯ãåäžã®å ±ææ€èšŒã©ã€ãã©ãªãå€ãã®ã€ã³ã©ã€ã³ãã§ãŒã³ã«åºçŸããéå»ã«ãã€ããŒãªããžã§ã³åŸã«è€æ°ã®æé©åè§£é€ã€ãã³ããããªã¬ãŒããŠããããšãæããã«ãããããããŸããããã®ã©ã€ãã©ãªããªãã¡ã¯ã¿ãªã³ã°ããŠãäžå®å®ãªããžãã¯ãå®å®ããé«éãã¹ããåé¢ããããšã¯ãç¬ç«ãããããã¡ãœãããæé©åãããããã¯ããã«å€§ããªã¡ãªããããããããŸãã
ãã®ã¢ãããŒãã¯ã段éçè¿ä»£åã¢ãããŒããªã©ã§èª¬æãããŠãããããªãæ§é åæãæ¢ã«æŽ»çšããŠããè¿ä»£åæŠç¥ã«èªç¶ã«çµã¿èŸŒãããšãã§ããŸããSmart TS XLã¯ããããã®æŠç¥ã«JITïŒãžã£ã¹ãã€ã³ã¿ã€ã ïŒå¯Ÿå¿ã®èŠçŽ ã广çã«è¿œå ããèšç»ããã倿Žãé·æçãªæé©åããµããŒãããããšãä¿èšŒããŸããæ§é çãªåœ±é¿ç¯å²ãšæé©åè§£é€ã®åœ±é¿ã®äž¡æ¹ã«åºã¥ããŠãªãã¡ã¯ã¿ãªã³ã°åè£ãã©ã³ã¯ä»ãããããšã§ãã¢ãŒããã¯ãã£å§å¡äŒãå®è¡æåäœã®æ°žç¶çãªæ¹åãããããäœæ¥ãæ£åœåãããã®é åºã決å®ããã®ã«åœ¹ç«ã¡ãŸãã
æ§é çãªãWhat-Ifãåæã«ããå°æ¥ã®æé©åè§£é€ã«ã¹ã±ãŒãã®é²æ¢
ããã©ãŒãã³ã¹ã®äœäžã¯ãå€ãã®å Žåãæ°æ©èœãäŸåé¢ä¿ãæ¬çªç°å¢ã«å°å ¥ãããåŸã«åããŠçŸããŸããã€ã³ã¿ãŒãã§ãŒã¹ããã¬ãŒã ã¯ãŒã¯çµ±åãå ±æã©ã€ãã©ãªãžã®äžèŠç¡å®³ãªå€æŽããå®éã®ã¯ãŒã¯ããŒããã¿ãŒã³ã«ãããŠåºç¯å²ã«ãããæé©åã®æå€±ãåŒãèµ·ããããšããäºäŸã¯å°ãªããããŸãããSmart TS XLã¯ãå°å ¥åã«æ§é çãªãwhat-ifãåæãå¯èœã«ããããšã§ããããããªã¹ã¯ã軜æžããŸããã¢ãŒããã¯ãã¯ãæ°ããäŸåé¢ä¿ãæ¢åã®ã³ãŒã«ã°ã©ãã«ã©ã®ããã«çµ±åãããããã©ã®ããããã¹ãšäº€å·®ãããããããŠããããåã®å€æ§æ§ãåå²ã®è€éãã«ã©ã®ãããªåœ±é¿ãäžããããè©äŸ¡ã§ããŸãã
ãã®å°æ¥ãèŠæ®ããèŠç¹ã«ãããããŒã ã¯æ¬è³ªçã«JITïŒãžã£ã¹ãã€ã³ã¿ã€ã ïŒã«é©ããæ°ããã¢ãžã¥ãŒã«ãã€ã³ã¿ãŒãã§ãŒã¹ãèšèšã§ããŸããäŸãã°ãSmart TS XLã¯ãé »ç¹ã«äœ¿çšãããã€ã³ã¿ãŒãã§ãŒã¹ã«å¥ã®å®è£ ã远å ãããšãè€æ°ã®åŒã³åºãç®æããã€ã¢ã«ãã£ãã¯åäœããã¡ã¬ã¢ã«ãã£ãã¯åäœã«ç§»è¡ããããšã瀺ããããããŸããããã®ç¥èãããã°ãèšèšè ã¯ä»£ããã«ãæ°ããåäœã®ããã«çãç¹åããã€ã³ã¿ãŒãã§ãŒã¹ãå°å ¥ããæ¢åã®ããããã¹ãä¿è·ããããšãã§ããŸãããã®èšç»çãªææ³ã¯ã倿Žç®¡çããã»ã¹ã«èŠãããã¬ããã³ã¹ã®èгç¹ãšäžèŽããŠããã倿Žãå±éããåã«ãªã¹ã¯ãè©äŸ¡ãããã®ã§ãã
Smart TS XLã¯ãæ§é è©äŸ¡ãèšèšããã³ã¬ãã¥ãŒã¯ãŒã¯ãããŒã«çµ±åããããšã§ãJITã®å®å®æ§ãäºåŸçãªãã¥ãŒãã³ã°ã®åé¡ããèšèšæã®èæ ®äºé ãžãšå€é©ããŸããããã«ãããäºæãã¬æé©åè§£é€ã®é£éã®çºçé »åºŠãäœæžããããã©ãŒãã³ã¹ã€ã³ã·ãã³ã調æ»ã®æéãççž®ãããæ°æ©èœã®ã¹ã±ãŒã©ããªãã£ã«å¯Ÿããä¿¡é Œæ§ãåäžããŸãã
Smart TS XL ãš JVM ãã¬ã¡ããªããã³ CI/CD ãã€ãã©ã€ã³ã®çµ±å
éæé©åãã¿ãŒã³ã¯éçãªãã®ã§ã¯ãªããã³ãŒãã®å€æŽãã¯ãŒã¯ããŒãã®å€åãã€ã³ãã©ã¹ãã©ã¯ãã£ã®åæ§æã«åãããŠé²åããŸããSmart TS XLã¯ãJVMãã¬ã¡ããªãCI/CDãã€ãã©ã€ã³ãšçµ±åããããšã§ãã³ãŒãæ§é ãå®è¡æã®åäœãã¢ãŒããã¯ãã£äžã®æ±ºå®äºé ã®éã§ç¶ç¶çãªãã£ãŒãããã¯ã«ãŒãã圢æãããã广çã«ãªããŸãããã¹ãç°å¢ãšæ¬çªç°å¢ããJFRèšé²ãJITãã°ãããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãåã蟌ãããšã§ãæ§é ãªã¹ã¯ãå¢å ããŠããç®æãšæé©åãç¶æãããŠããç®æã«é¢ããçè§£ãæŽæ°ã§ããŸãã
CI/CDç°å¢ã«ãããŠãSmart TS XLã¯æ°ãããã«ããåæããããã©ãŒãã³ã¹ ãã¹ããå®äºããåã§ãã£ãŠããJIT ã®åäœã«åœ±é¿ãäžããå¯èœæ§ã®ããæ§é 倿Žãæ€åºã§ããŸããæ¡åŒµãããç¶æ¿éå±€ãæ¡åŒµãããã€ã³ã¿ãŒãã§ãŒã¹ãæ¢ç¥ã®ããã ãã¹åšèŸºã®äŸåé¢ä¿ã®æ·±ãã®å¢å ãªã©ãæ€åºã§ããŸãããã®èªååã¯ãããã©ãŒãã³ã¹ ååž°ãã¬ãŒã ã¯ãŒã¯ã§èª¬æãããŠããææ³ãè£å®ãããã®ã§ãããããã©ãŒãã³ã¹ ãã§ãã¯ãããªããªãŒ ã¯ãŒã¯ãããŒã®æšæºéšåãšãªããŸããSmart TS XLã¯ããããã®ãã§ãã¯ã«æ§é çãªåŽé¢ã远å ããããã©ãŒãã³ã¹ãå€åãããã©ããã ãã§ãªããã©ã®ã¢ãŒããã¯ãã£äžã®æ±ºå®ãå€åãåŒãèµ·ãããå¯èœæ§ãé«ããã瀺ããŸãã
Smart TS XLã¯ãæ§é çãªæŽå¯ãšéçšãã¬ã¡ããªã飿ºãããããšã§ãã¬ã€ãã³ã·ãã¹ã«ãŒããããšäžŠãã§æé©åã®å¥å šæ§ã第äžçŽã®ææšãšããŠè¿œè·¡ããããšãå¯èœã«ããŸããããã«ãããJITã®å®å®æ§ã芳å¯ã管çãç£æ»ããããšãå¯èœã«ãªããŸããããŒã ã¯ãæéã®çµéãšãšãã«ãé«ãªã¹ã¯ãªãã¿ãŒã³ãã³ãŒãããŒã¹ã«äŸµå ¥ããã®ãé²ãã¢ãŒããã¯ãã£äžã®ã¬ãŒãã¬ãŒã«ã確ç«ããäºæž¬å¯èœãªJITåäœãç¶æããè€éãªJVMç°å¢ã«ãããæé©åè§£é€ã®ç®¡çã«ãããéçšã³ã¹ããåæžããŸãã
æ§é çå®å®æ§ãšäºæž¬å¯èœãªæé©åã«ãã JVM ããã©ãŒãã³ã¹ã®ç¶æ
å€§èŠæš¡ãªJVMç°å¢ã§æ°žç¶çãªJITããã©ãŒãã³ã¹ãå®çŸããã«ã¯ã屿çãªä¿®æ£ãåå¥ã®ãã¥ãŒãã³ã°ã ãã§ã¯äžååã§ããã¢ãŒããã¯ãã£ã®æå³ãæ§é ã®æç¢ºãããããŠå®è¡æã®åäœãæŽåãããããšã§ãJITã¯å€åããã¯ãŒã¯ããŒããç¶ç¶çãªæ©èœé²åã«ãããŠãæå¹ãªä»®å®ã圢æã§ããããã«ãªããŸããçµç¹ãã¢ããªã±ãŒã·ã§ã³ãæ¡åŒµããã«ã€ããŠãããªã¢ãŒãã£ãºã ãã¢ãžã¥ãŒã«ã®ç¡ç§©åºãªæ¡æ£ãåå²ã®äžå®å®æ§ããããŠäŸåé¢ä¿ã®å€åãèç©ãããææ©çãªæé©åã¯è匱ãªãã®ã«ãªããŸãããã®èšäºã§èª¬æãããã¿ãŒã³ã¯ãè±æé©åã«ã¹ã±ãŒããåã ã®ã¡ãœããã«ãã£ãŠåŒãèµ·ããããããšã¯ã»ãšãã©ãªããJVMãå®è¡åäœãè§£éããæ¹æ³ã«åœ±é¿ãäžããã·ã¹ãã å šäœã®é¢ä¿æ§ããçããããšã瀺ããŠããŸãããããã®ãã¿ãŒã³ã«å¯ŸåŠããã«ã¯ãåçºã®æé©åã§ã¯ãªããé·æçãªæ§é 調æŽãå¿ èŠã§ãã
äŸåé¢ä¿ãèæ ®ããã¢ãããŒãã«ãããã¢ãŒããã¯ãã£ã¯äºæž¬å¯èœãªåäœããµããŒãããŸããã€ã³ã¿ãŒãã§ãŒã¹ã®å®å®åãããªã¢ãŒãã£ãºã ã®å¶çŽããã¬ãŒã ã¯ãŒã¯ã®åçåäœã®åé¢ãã¢ãžã¥ãŒã«å¢çãšå®è¡ãã¹ã®æŽåã¯ãã¹ãŠãäžè²«ãããããã¡ã€ãªã³ã°ä¿¡å·ã®çæã«è²¢ç®ããŸãããããã®ãã©ã¯ãã£ã¹ã¯ãæšæž¬ã«åºã¥ãä»®å®ãæºãããå€åæ§ãäœæžããæé©åããããã¬ãŒã ã®åºç¯ãªç¡å¹åãé²ããŸãã倿Žãè€æ°ã®ãµãŒãã¹ãå ±æã©ã€ãã©ãªã«äŒæããç°å¢ã§ã¯ãäŸåé¢ä¿ã®æç¢ºåãæç¶å¯èœãªããã©ãŒãã³ã¹ã®åææ¡ä»¶ãšãªããŸããã¢ãŒããã¯ããšéçºããŒã ãã³ãŒã倿Žãé·æçãªæé©åã®å®å®æ§ãšãã芳ç¹ããæããããšã§ãéå±€æ§é ã®å ¥ãæ¿ããã¡ã¬ã¢ãŒãã£ãã¯ãªæ¡åŒµãåŒãèµ·ãããã¿ãŒã³ã®åå°å ¥ãªã¹ã¯ãæå°éã«æããããšãã§ããŸãã
GraalVMãOpenJ9ãªã©ã®JITã³ã³ãã€ã©ã¯ãæ§é ã®äºæž¬å¯èœæ§ãç©æ¥µçã«æé©åããããšã§æ©æµããããããŸããããããã¹ãå®å®ããããŒã¿ãããŒãäžè²«ãããã¿ãŒã³ã«åŸãå Žåãã³ã³ãã€ã©ã¯é »ç¹ãªç¡å¹åã®è åšã«æãããããšãªããé«åºŠãªã€ã³ã©ã€ã³å±éããšã¹ã±ãŒãè§£æããããŠç¹æ®åãå®è¡ã§ããŸããããã«ãããã¯ãŒã¯ããŒãã®å€åãããŒã ééçºããããŠã¢ãŒããã¯ãã£ã®è€éãã«èãããæé©ååºç€ãæ§ç¯ãããŸããJITã®åäœãã¢ããªã±ãŒã·ã§ã³æ§é ããããŠã¢ãžã¥ãŒã«ã¬ããã³ã¹ãæŽåããŠåäœããããšã§ãæç¶å¯èœãªããã©ãŒãã³ã¹ãå®çŸãããŸãã
ã¢ããã€ãŒãŒã·ã§ã³ã®åãçµã¿ãäŒæ¥ç°å¢ãé²åããç¶ããäžã§ãçµç¹ã¯æ§é äžã®æ±ºå®ãšã©ã³ã¿ã€ã çµæãçžé¢ãããããŒã«ãã¢ãããŒãã®æ©æµãåããŠããŸããã©ã³ã¿ã€ã ãã¬ã¡ããªãäŸåé¢ä¿åæãã¢ãŒããã¯ãã£ç£èŠãçµ±åãããã©ã¯ãã£ã¹ã¯ããããã€ã¡ã³ãåŸã«åããŠçºçããå¯èœæ§ã®ããååž°ãé²ãã®ã«åœ¹ç«ã¡ãŸããã¬ããã³ã¹ãèšèšã¬ãã¥ãŒãCI/CDã¯ãŒã¯ãããŒã«æ§é èªèãçµã¿èŸŒãããšã§ãããŒã ã¯æ°æ©èœãå°å ¥ãããŠãæé©åãããå®è¡ãã¹ã®å埩åãç¶æã§ããŸãã
é·æçãªJITæé©åã®è¿œæ±ã¯ã究極çã«ã¯ã¢ãŒããã¯ãã£ã®èŠåŸã®åé¡ã§ããäºæž¬å¯èœãªäŸåé¢ä¿ãåžžã«ç¶æããåäœã®å€åæ§ãäœæžããå®è¡ã®å®å®æ§ãéèŠããèšèšãè¡ãçµç¹ã¯ãããã©ãŒãã³ã¹ã®äœäžãå°ãªããéçšãªã¹ã¯ãäœæžããŸããæ éãªæ§é ã®æ¹è¯ãéããŠãããã©ãŒãã³ã¹ã¯å¶çºçãªçµæã§ã¯ãªããã·ã¹ãã ã®å®å®ãããçµ±å¶ãããç¹æ§ãšãªããŸãã