äŒããŸãããïŒä»æ¥ãç§ãã¡ã¯çµ¶å¯Ÿã«æä»çã§ã- ã»ã«ã²ã€ã»ã¯ã¯ã»ã³ã³ãšã®çŽ æŽãããã€ã³ã¿ãã¥ãŒ ïŒ ã€ã³ã¿ãã¥ãŒãã次ã®ããšãåŠã³ãŸãã
- Javaããã©ãŒãã³ã¹ããŒã ã®ä»çµã¿
- Javaã®ã©ã®é åã§ã¢ã¯ãã£ããªããã©ãŒãã³ã¹äœæ¥ãè¡ãããŠããã
- ãžã°ãäŒè°ã§ããŒãã³ã¢ãå¿ èŠãªã®ã¯ãªãã§ãã
- ããã©ãŒãã³ã¹ãšã³ãžãã¢ãç¥ã£ãŠããã¹ãããš
- é«ééè·¯ãšã¯äœã§ãããåœå¢ã¯ã©ãã«è¡ããŸãã
- Javaæååã§çŸåšäœãèµ·ãã£ãŠããã®ã
- ã©ã³ã¿ã€ã ã®ãã¥ãŒãã³ã°ã¯ã©ã®æ¹åã«é²åããŸãã
-ã»ã«ã²ã€ãããªãã¯ç§ãã¡ãšäžç·ã«ãã¬ãŒã³ããŒã·ã§ã³ãããããšãå€ããæ¯åããªãã®ã¬ããŒãã¯ããªãã話ããŠããè³æã®èŠ³ç¹ãããŸããŸãé£ãããããè€éã«ãªããããããçš®é¡ã®éã®ãã®ã«ãŸããŸãæ·±ããªããŸãã ããªããèšããšããããªãã¯äººã ã®ç®ã§èŠãŸã-ããªãã¯ããã«äœããã®ç解ãèŠãŸãããããªããæ·±ããªãã«ã€ããŠç解ã倱ãããŸããïŒ
KuksenkoïŒããã¯ãç§ãäžè¬çã«ã¬ããŒãã§ãã£ããããããšããæãéèŠãªãã£ãŒãããã¯ã§ãã äºå®ãèŽè¡ã®åå¿ãèŠããšãç§ã®ã¬ããŒããç¡é§ã«ãããªãã£ããšããäºå®ããããçšåºŠã®åã³ãæããŸããå¹³åããŠãå°ãªããšãåæ°äººã®ã¢ã¯ãã£ããªãªã¹ããŒãèŠããšãã¬ããŒãã¯æåãããšæããŸãã ããã¯é »ç¹ã«èµ·ãããŸãã
-ããã§ãããªãã¯ããªããä¿æããããšããŠããç¹å®ã®å²åãæã£ãŠããŸããïŒ
KuksenkoïŒã¯ããç§ã¯æ å ±ãæã¡èŸŒã¿ãŸãã誰ãã«é£çµ¡ããããã«å¿ èŠãªã®ã§ãèªåã ãã§ãªããã¬ãŒã³ããŒã·ã§ã³ãè¡ããŸãã
-ãããŠãã©ã®ããã«ãã®éžæãããã®ã§ããïŒèŠèŽè ã«ããŸããŸãªããã¯ã°ã©ãŠã³ããæã€äººã ããããšãã圌ãã¯ç°ãªãã¬ãã«ã®ç解ãæã£ãŠããŸããïŒ äºåã«ãåºå®ãããè€éããäŒããŸãããšèšããŸããããããšãè€éãã調æŽããŸããïŒ
KuksenkoïŒäºåã«ãããªãè€éãªã¬ããŒããããããšãçºè¡šããŸããèŽè¡ã«é¢ããæ å ±ããããé¢å¿ã®ãã人ãååã«ããªãããšãããã£ãŠããå Žåã¯ãã¬ããŒããå®æœããããã®ãããªåŒ±ãäŒè°ã«ã¯åå ããŸããã
-ãªãŒãã£ãšã³ã¹ã«é¢ããæ å ±ãã©ã®ããã«ããŠèŠã€ããŸããïŒ
KuksenkoïŒååãšããŠã äºåŸ ã
-äŒè°ã®äž»å¬è ãšããŠãã¬ããŒãã«åœ±é¿ãäžããå¯èœæ§ã®ããèŽè¡ã«ã€ããŠäœãã話ãã§ããŸããïŒ
KuksenkoïŒãã®è³ªåã«å¯ŸããçããããããŸããã ååãšããŠãäŒè°ãžã®èšªåã®èŽè¡ã®ã¬ãã«ãè©äŸ¡ããããäžåºŠããã«è¡ããã©ãããèªåã§æ±ºããŸãã
-ããªãã¯ä»ããã·ã¢ã§4幎éæŒå¥ããŠããŸãã 2012幎ã«å§ããŸãããïŒ
KuksenkoïŒ 2011幎以éã®ã©ããã
-èŠèŽè ãå¢ããŠãããšæããŸããïŒ éã§ã¯ãªããããªãã話ããŠããããšã®ç解床ã«ãã£ãŠïŒ
KuksenkoïŒæ£çŽããããã å°ããã£ãŒãããã¯ããããŸã-èŽè¡ã¯ç²ããŠããã®ãããããŸããç§ãã¡ã幎ã å ±åããè€éãªã¬ããŒãã«ããããããŠããããã§ãã ãŸããå°ãªããšããããã颚ã«æããŸãã ããŸããŸãªäŒè°ã§ç§ãèŠããŠããéåžžã«èå³æ·±ã人ã ããã®å°åãé¢ããŠããããšãããããŸãã 圌ãã®ãã£ãªã¢ãå§ãŸããããããŒãžã£ãŒã«å€ããããä»ã®äœãã«ãªããŸãã ãããŠãç§ã¯ãŸã æ·±å»ãªä»£æ¿åãèŠãŠããŸããã
ããããæåã®ã¬ããŒãã®å¹æã¯æ©èœãã人ã ãæè¡çãªãã®ã«é£¢ãããšãã圌ãã¯å€ãã®è³ªåãããŸããã ä»ãç§ã¯è€éãªæè¡å ±åæžã®èŽè¡ãããã®ãããªé¢å¿ã®æžå°ãèŠãŠããŸãã
-ãããããã®ã¯ãããªããšã¬ã·ã£ïŒã¢ã¬ã¯ã»ã€ã»ã·ãã¬ã-äœè ã®ã¡ã¢ïŒãèªå·±ã³ããŒãããªãããšãæ¬åœã«æ°ã«å ¥ã£ãŠããããã§ãã 2011幎ãã2012幎ã«ããã©ãŒãã³ã¹ã®ãããã¯ãããããã®åŸå°ãæé·ããŸããã
KuksenkoïŒã¿ããªèšã£ãã ãªãç¹°ãè¿ããŸããïŒ 2012幎以éããã®åéã§ã¯äœãå€ãã£ãŠããŸããã
-çŸåšãããã©ãŒãã³ã¹ãµã€ãšã³ã¹ã¯ã©ã®çšåºŠæŽ»çºã§ããïŒç¹ã«Javaã§ã®ããã©ãŒãã³ã¹ã¯ããããïŒ
KuksenkoïŒããã©ãŒãã³ã¹ãµã€ãšã³ã¹ã«ã€ããŠã¯äœãèšããŸããã ç§åŠã§äœãèµ·ãã£ãŠããã®ãåãããŸããã ããããäœããéçºäžã§ãã ããã©ãŒãã³ã¹ã¯å¿çšå·¥åŠã»ã©ç§åŠã§ã¯ãªããçŸå®ã®ãã®ãããããã®çŸå®ãäœããã®æéæ ãèŠä»¶ãªã©ã«æŒã蟌ãŸãªããã°ãªããŸããã
Javaã¯ããŸããŸãªåéã§å€æŽãå ããŸãã ã°ããŒãã«ãªèšç»ã¯ãããŸãããã2020幎ãŸã§ã«ãæ®éçãªå¹žçŠã蚪ãã1ãã³ç§ã§ããããæäœãå®è¡ããŸããã 補åããããããã€ãã®å ŽæãèŠã€ããããã§ãããåŒãç· ããŸã...æ°ãããã®ãçºæãããæ°ããããŒããŠã§ã¢ãžã®é©å¿ãé²è¡äžãªã©ãã€ãŸããéåžžã®ããã»ã¹ã§ãã
-ããã©ãŒãã³ã¹ã«æºãã人ã ãæ°ããéãããã䜿çšã§ããããã«ãéã¯ã©ããããéãå€åããŸããïŒ
KuksenkoïŒ Intelã¯2幎ããšã«èå³æ·±ãååãªããããåããæ°ãããã€ã¯ãã¢ãŒããã¯ãã£ãå±éããŠããŸãããå€ããå°ãªããçå£ãªç 究ã«ç®ãåãããšãããçš®ã®è¶ 倧åã®æ°æ©èœãç»å Žããæ°ããã¢ãŒããã¯ãã£ãç»å ŽããŸãã...ãããŠãããã©ãŒãã³ã¹ã®å¹³åçãªæ§è³ªãã©ãã ãåŸããããç é¢å šäœã®å¹³åæ°æž©ãšããç¹ã§ïŒ ãŸãããã©ã¹6ïŒ ã
ãœãããŠã§ã¢ã®å®æçã«æ°ããæ©èœã衚瀺ãããŸãã ãœãããŠã§ã¢éšåã¯ããã«å¯Ÿå¿ããŠããŸããã 圌女ã¯ãç¹ã«Javaã¬ãã«ã§ãå€ããå°ãªããã¢ãŒããã¯ãã£ã«äŸåããªããœãªã¥ãŒã·ã§ã³ãæ瀺ããªããã°ãªããªãç¶æ³ã«è¿œãã€ãããšãè©Šã¿ãŠããŸããããããè¿œãå¿ èŠããããŸãã
-ãã¯ãã«åãšãã¯ãã«åœä»€ã¯ãææ°ã®ããã»ããµã«é·å¹ŽååšããŠããŸããã å€ãã®å ŽåãJavaä»®æ³ãã·ã³ã¯ããŸã䜿çšããŠããªããšéé£ãããŠããŸãã
KuksenkoïŒããã«ã¯2ã€ã®åé¡ããããŸããååãšããŠããããã®ãã¹ãŠã®åœä»€ã¯ç¹å®ã®ã·ããªãªãšãŠãŒã¶ãŒã±ãŒã¹ã«å¯ŸããŠç ãæŸãŸãããŠããããããã®ãŠãŒã¶ãŒã±ãŒã¹ããã®ã¢ãŒããã¯ãã£ã«å¯ŸããŠç ãæŸãŸãããŠããªãæœè±¡ã³ãŒãããå®çŸ©ããåé¡ã¯æªè§£æ±ºã®ãŸãŸã§ãã èªåãã¯ãã«åã¯ãåçŽãªå Žåã«è§£æ±ºãããåé¡ã§ãã ããããå·Šãžã®ã¹ããããå³ãžã®ã¹ããã-ãã¯ãã«åã¢ã«ãŽãªãºã ã¯æ©èœããªããªããŸãã
ããŒããŠã§ã¢ã§ãããå¿ èŠãªçç±ã¯æããã§ãããªããªããç¹å®ã®ãã©ãããã©ãŒã åãã®ãã©ãããã©ãŒã ããäžéšã®çµã¿èŸŒã¿é¢æ°ããã®ä»ã®ãã€ãã£ãã³ãŒãã䜿çšããŠlaã¢ã»ã³ãã©ã¬ãã«ãŸã§è¿ éã«ç ããå¿ èŠãªãã®ãååŸã§ããéçºè ãäœçŸäžäººãããããã§ãã Javaã§ã®ç§ãã¡ã®ç®æšã¯ãããã«ç°ãªãç®æšã§ããã軜èŠããŠããŸããããæãéèŠãªããšã¯ãŸã£ããåãæ¹æ³ã§ç ãæŸãŸãããŠããŸãã
-æåã§ã·ã£ãŒãã«ããå Žåã®äŸãæããŠãã ããã
KuksenkoïŒãŸããæååæäœã ãããã®ã»ãšãã©ã¯ç¹å®ã®ããŒããŠã§ã¢ã«åãããŠèª¿æŽãããŠããããŸããªããã®é åã§ããã€ãã®å°ããªæŽæ°ãè¡ããããŸããŸãå€ãã®æŽæ°ãè¡ãããŸãã ããã¯1ã€ã®é åã§ãã
2çªç®ã®é åã¯ãåžžã«å€å žçã«æåã§ç ãããŸãããæå·åã®é åã§ããããã¯ãããé«éã§å®å šãªæå·åã«çŠç¹ãåœãŠãããŒããŠã§ã¢ã®æ°ããåœä»€ãããããã§ãïŒããšãã°ãã©ã³ãã ãžã§ãã¬ãŒã¿ãŒã¯ææ°ã®Intelè ºã§æ¬ç©ã§ãïŒã ãããŠãã»ãã¥ãªãã£ã®åéã§ã®æå·åã®èŠ³ç¹ããããããã®éã®èœåãç¡èŠããããšã¯ããŸãè¯ããªãããšã¯æããã§ãã ãã ããããã§åãæå·åã䜿çšããå ŽåãéèŠãªåé¡ã¯ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã®åé¡ã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã®åé¡ã§ãã å®éã®ã©ã³ãã ãžã§ãã¬ãŒã¿ãŒã䜿çšããŠããšã³ããããŒãé«ãããšã³ã³ãŒãèªäœã«cãªãã¯ãã«åã³ãã³ãã䜿çšããŠä¿è·ã匷åããŸããããšãã°ãããè€éãªãšã³ã³ãŒãã¢ã«ãŽãªãºã ãªã©ãåãæéæ ã«è©°ã蟌ã¿ãã»ãã¥ãªãã£ãåäžãããŸãã ããã§ã¯ãããã©ãŒãã³ã¹ã仲ä»ãããŸãã ãããŠãããã§å€§ããªçåãçããŸããå®éã®ãŠãŒã¶ãŒã¯ã©ããããã®ãã¯ãã«åãå¿ èŠãšããŸããã
-ã€ãŸããå¿ èŠãªäºå®ã¯ãŸã£ãããããŸãããïŒ ãã¹ãŠã®äŒè°ã§ãããã¯Javaãšããã©ãŒãã³ã¹ã«é¢ä¿ãããã®ã§ããããã¯ãã«åã®åé¡ã§ãããããããã¯ãæ°ã«å ¥ãã®è³ªåã§ãã 誰ããæãçªãã®ã奜ãã§ããããèšã...
KuksenkoïŒãããŠãã·ã·ã¥ãã¯ã¯ã©ããããã®é »åºŠã§å®éã«è£œåã®åªãããã¯ãã«åãéæããŠããŸããïŒ JPointãšJokerã®ã¬ãã«ã§ã®ãã¬ãŒã³ããŒã·ã§ã³ã®æŽå²ãéããŠãæåŸã®Jokerã§ããäŸããããŸãã ãªãŒããŒã¯ããã¯ããŸãã ãããŠãããã§å°ããªãã¯ãã«åãèµ·ãããŸãããã ããç·ãå芳è ãšããŠåºãŠããŠèšã£ãã ã1ã€ã®å Žæãåæ£ããããã£ãã®ã§ãä»åºŠã¯ããããã¯ãã«åããããã«åªããŸããã ãã®éãã£ãšãæ¬åœã«ãããå¿ èŠãšãã圌ã®ä»äºãç¥ã£ãŠããå¯äžã®äººãç§ã«åºããããŸããã
çéå ¥ãã®ããã©ãŒãã³ã¹ã«ã€ããŠ
-ããã©ãŒãã³ã¹ã®åºæ¬ãäŒãããšããããã¯å€ããå°ãªãããã¹ãŠã®äººã«ãšã£ãŠå¿ èŠã§ããããšã¯æããã§ãã ããããããªããéåžžã«é«åºŠãªããšãèšããšã-ããšãã°ãååã®ã¬ããŒãã®ããã«CPUã100ïŒ è² è·ã«ãªã£ãå Žåãå®éã«å¿ èŠãªã®ã¯ã©ã®éšåã§ããïŒ 100åã®1ãšããæèŠã
KuksenkoïŒå°ãªããªãå Žåã ãã®èŠèŽè ã«çŠç¹ãåœãŠãŠããŸãã
ãã®ãããªã¬ããŒãã®æè²çåŽé¢ã«ã€ããŠã©ãæããŸããïŒ
KuksenkoïŒç§ã¯ããããæè²çãªãã®ãšã¯èããŠããããããæ £ã芪ããã§ãããšèããŠããããã§ããããšã¯ãããããããŸãããšã ã瀺ããŠããŸãã ãããŠããããå¿ èŠãšãã人ã¯ã圌ããã®æ¹åã«åããåæ»ããªãããšãç解ããŸãã
-æ°æ¥åãHighloadã«ã³ãã¡ã¬ã³ã¹ãè¡ã£ãå人ã®Oleg Buninãšè©±ãããHighloadã®æèŠãèããŠã¿ããšããã圌ã¯ãã®ãããªããšãèšã£ããè ºã§çºçããŸãã å®è¡æ¹æ³ãæ°ã«ããªãéããããã¯Highloadã§ã¯ãããŸãããå¿é ãå§ãããšããã«Highloadã«ãªããŸããã ãã®å£°æã«ã€ããŠã©ã®ããã«ã³ã¡ã³ãã§ããŸããïŒ
KuksenkoïŒç§ã«ãšã£ãŠãHighloadã¯ãã1ã€ã®æµè¡èªã§ãã ç§ããã€ãã¬ããŒãã§èšã£ãããã«ãçç£æ§ã¯ãã€ããªã¡ããªãã¯ã§ãïŒã¯ã©ã€ã¢ã³ãã¯äžæºãŸãã¯æºè¶³ã®ããããã§ããããã¹ãŠã®å éšãããã³ã¯ããã枬å®ããæ¹æ³ãããã«è²»ããéé¡ãéãè³Œå ¥ããããŸãã¯ãã®éã«å§ãŸããŸãããœãããŠã§ã¢ã®ãããªã©ãã²ãããŸãã ã€ãŸããHighloadãçµäºããå ŽæãHighloadãéå§ããå Žæã®åé¡ã¯ãè²ã®å¢çç·ãã©ãã§æãããšããåé¡ã§ãã è¹ã®ã¹ãã¯ãã«ã¯é£ç¶çã§ããããããã¯ç·ãããã¯èµ€ã§ãããšèšããŸãããå®éã«ã¯ãããããã¯ç·ãããããã¯èµ€ããšããå¢çç·ãæ確ã«æãããšã¯ã§ããŸããã ããã§ãç·ãšèµ€ã¯ãè²èŠç°åžžãé€ããŠèª°ã«ãšã£ãŠãæããã§ãã Highloadã䜿çšããŠããã¹ãŠã®ãã®ã䜿çšããŸãã ãããããã¹ãŠã®ã¬ããŒãã§è¡šæããå°ããªèŠä»¶ããããŸãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«é¢äžãããå Žåãå¿ èŠãªå Žåã¯ããã¹ãŠãäžããäžãŸã§ãã¹ã¿ãã¯å šäœãã€ãŸãææ¡ã®ä»çµã¿ãã¢ããªã±ãŒã·ã§ã³ãµãŒããŒã®ä»çµã¿ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããŒããŠã§ã¢ãã€ãŒãµãããã¯ã€ã€ãªã© ãããŠããã®ãã¹ãŠãã©ã®ããã«æ©èœããããç¥ã£ãŠããã°ããã®å Žæã§äœããéæããããã€ãã®è³éãåŸãããšãã§ããŸãã
-ããªããšã¬ã·ã£ã¯ããœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ãšã¯äœããããã©ãŒãã³ã¹ãšã³ãžãã¢ãªã³ã°ãšã¯äœãããããŠéãã¯äœããšãã話ã§ã2011幎ãã2012幎ã«ãããŠæåãªäžé£ã®ãã¬ãŒã³ããŒã·ã§ã³ãå§ããŸãããããã¯æåã®ã¹ã©ã€ãã®1ã€ã§ãã ãããŠãããŒã«ã»ããã§ïŒ Javaãšã³ãžãã¢ãšããŠãå žåçãªJavaãšã³ãžãã¢ãæã£ãŠãããã®ããããŠããããJavaãšã³ã¿ãŒãã©ã€ãºãšã³ãžãã¢ã§ããã倧äœæ³åã§ããŸãã ãããŠããšã³ãžãã¢ã®ããã©ãŒãã³ã¹ã®ããã©ãŒãã³ã¹ããŒã«ãšã¯äœã§ããïŒ ã©ã®ãããªããã©ãŒãã³ã¹ãšã³ãžãã¢ããŒã«ãç¹ã«æ¥åžžæ¥åã§äœ¿çšããŠããŸããïŒ
KuksenkoïŒããã·ã¥ïŒ ãŸããã¿ã¹ã¯ã«äŸåããŸãã å€éšãã³ãããŒã¯ã§äœæ¥ããå Žåã®å€å žçãªããŒã«ã»ãã-ããã¯ãããã¿ã€ããããã¡ã€ã©ãŒã®äžçš®ã§ãã ãããã¡ã€ã©ãŒã¯ã©ã®ãããªãã®ã§ãããŸããŸãããããããã¯ãã¹ãŠåãã§ãããæŠããŠã§ãã ãŸããVisualVMãMission Controlãªã©ã®Oracle補åã«ã¯å©ç¹ãããããšã¯æããã§ãã
äžäœã¬ãã«ã«ç§»åããå¿ èŠãããå Žåã¯ãããªãå¹æçãªããŒã«ã§ããOracle Solaris Studio Performance AnalyzerïŒé·ãååïŒãšåŒã°ãããã®ãæšæºãšããŠäœ¿çšãå§ããŸãã 2ã€ç®ã¯ãå°ããªããšãã€ã³ã¿ãã¥ãŒãèŠç¹ãç解ããããã®Linuxããã©ãŒãã³ã¹ã§ãã å®è·µã§ã¯ãæè¿ç§ã¯éåžžãã®æã䜿çšããŠããããšã瀺ããŠããŸããperfã¯æŠèŠã瀺ããOracle Solaris Studio Performance Analyzerã¯å€ããå°ãªããçå£ã«æããŸãã ä»ã®ãŠãŒãã£ãªãã£ã¯äžèŠã§ãã ãã¶ããJFRã¯ããŸããããªããã®ãèŠãããšããããŸãã JFRãRecorderãMission Controlã§ãããJavaã®ã¬ãã«ãè¶ ããªããã®ã ããèŠãŠãã ããã
-ã¢ã³ãã«ã€ããŠã¯ã©ãã§ãããã©ãæããŸããïŒ
Amplifierã䜿çšããããšããªããããAmplifierã«ã€ããŠã¯äœãèšããŸããã 5ã6幎åãåã«Intel VTuneãšåŒã°ããŠãããã®è£œåã䜿çšããŸãããIntelããŒããŠã§ã¢ã§ã®äœæ¥ã®èŠ³ç¹ãããããšãWindowsãã©ãããã©ãŒã ã¯åœæçæ³çã§ããã ãããããã®å¹Žã«ã¯ãIntel以å€ã®ããŒããŠã§ã¢ã§ã®äœæ¥ãããã³Windows以å€ã®äœãã§ã®äœæ¥ã«åé¡ããããŸããã çŸåšãVTuneã¢ã³ãã®æ åœè ã¯ãããŸããŸãªæ°åãæ°åãªã©ã®èšå€§ãªæ°ã衚瀺ããã®ããããéèŠãªåé¡ã匷調ããããšããŠãããšããæå³ã§ãèªååæã§éåžžã«æ·±å»ãªé²æ©ãéãããšèããŸããã
-ããã¯ãå®éã«ã¯ã解éãäžããããšã§ããïŒ
KuksenkoïŒã¯ãã圌ã¯ãã§ã«ããã€ãã®äŒèšãè¡ã£ãŠãçºèŠããåé¡ãåé¡ããããšããŠããŸãã ç§ã¯ãã¬ãŒã³ããŒã·ã§ã³ã§ãããç®ã®é ããèŠãŠãå®éã«ã¯äœ¿çšããŸããã§ããã
-ã€ãŸãããããã©ãã ãçå®ããããŒã±ãã£ã³ã°ã¯ããããªã®ããã¯ã£ããããŠããŸãããïŒ
KuksenkoïŒãã¬ãŒã³ããŒã·ã§ã³ãä¿¡ãããªããããã¯çå®ã§ãããããŸãããã¯ãã§ãããããã¯IntelããŒããŠã§ã¢ã®ææåããããŸãã
-10幎åãã©ãããããããã¹ã¯ãããããµãŒããŒãªã©ãã©ãã«ã§ããããããªAMDããããŸããããä»ã§ã¯AMDã«ã€ããŠè³ã«ããããšãå°ãªããªã£ãŠããŸãã æ¯æ¥ã®ä»äºã§ã©ã®ãããªçš®é¡ã®ARMãæ±ã£ãŠããŸããããŸããäœãéãã¯ãããŸããïŒ
KuksenkoïŒæ¥åžžæ¥åã§ã¯ãARMããŒãåæ±ã£ãŠããŸãã ç§ã¯äžåºŠã ãARMã§å®éšãè¡ããŸããã ãã¬ãŒã³ããŒã·ã§ã³ã®1ã€ãè¡ã£ããšããARMã§äžŠå枬å®ãè¡ãããšã«èå³ããããŸããã 次ã«ããããã®æž¬å®å€ãååŸããIntelã¢ãŒããã¯ãã£ãšåçŽã«æ¯èŒããŸããã ãããã£ãŠãARMãå®éã«äœ¿çšããŠããªãã®ã§ãããã«ã€ããŠã¯ãŸã äœãèšããŸããããã©ãããã©ãŒã ã¯éåžžã«ææã§ãããIntelãããŸããŸãªãããããéåžžã«ç©æ¥µçã«æ··éãããŠããŸãããæ ¹æ ã¯ãããŸããã
-çŽ6ïŒ ã®æé·ã«ã€ããŠè©±ããã®ã¯ãIntelãå°ãåæ»ããŠãããšããæãã ããã§ãã æèŠã¯ãããã©ãŒãã³ã¹ãæé·ããŠããªããšããããšã§ãã ãšãã«ã®ãŒå¹çã¯åäžããŠããå¯èœæ§ããããæå·åã®ãããªäœããçŸããŸããããã®æé·ã¯åºç¯ã«è¡ãããŠããããã§ãã 5幎åã®ã©ãããããã¯ãé¢é£ããããã©ãŒãã³ã¹ã®èŠ³ç¹ããã§ãã
KuksenkoïŒãšã³ããŠãŒã¶ãŒã䜿çšããããã©ãŒãã³ã¹ã«é¢ããŠã¯ããŸã£ããåãã§ããããšãããããŸãã ã 5幎åã«Youtubeã§æ ç»ãèŠãããšãã§ããããã«ãYoutubeã§æ ç»ãèŠãããã«ãªã£ãã®ã§ãéãã¯ãããŸããã 5幎åã®ããã«ãããªãã¯Twitterã«è¡ã£ãŠã¡ãŒã«ãæžããããããŠä»ã éãã«æ°ã¥ããŸããã å®éãããŒã¹ãã©ãããã©ãŒã ã¯é·ãéããšã³ããŠãŒã¶ãŒãå¿ èŠãšããããã©ãŒãã³ã¹ãéæããŠããŸããã ãã¡ãããããããçš®é¡ã®3DãBlu-rayãè¶ é«ç²ŸçŽ°ç»åãå§ãŸããŸãããããã¯ã³ã³ãã¥ãŒã¿ãŒã®ããã©ãŒãã³ã¹ã®é åã§ã¯ãªããå¥ã®é åã§ãã ããããæ¬åœã«ãç§ã®ååã®Lesha Shipilevã®ãããã§ã圌ã¯æè¿ã圌ã®Twitterã§æ¥çã®å顧ãè©äŸ¡ããŸããã 圌ã¯ã10幎åã®ã€ã³ãã«ã§ã®ä»äºããåŸãã¹ã³ã¢ãããèŠããŠãããã³ãããŒã¯ãè©ŠãããšæžããŠããŸãã ãããŠåœŒã¯ã10幎åã«ãã®ãã³ãããŒã¯ãã©ãããããã§10幎åã®ãµãŒããŒãã·ã³ã§ã®50åé«éã«ãªã£ãããšã«æ³šç®ããŠããŸãã 10幎éã§çç£æ§ã50åã«åäžããã®ã¯ãããæ®éã®é²æ©ã ãšæããŸãã
-ããã¯ãå®éãéçºããããŸããïŒ ããã¯ã©ãã»ã©éèŠã§ããïŒ ãã®ãã³ãããŒã¯ãšã¯äœã§ãããäŸãèŠããŠããŸããïŒ
KuksenkoïŒåœŒã®ããšã¯ããèŠããŠããŸãããè°è«ã¯ããªããšæããŸãã Alexei Shipilevã«ã€ã³ã¿ãã¥ãŒãããšãã¯ããã®ãã³ãããŒã¯ã®ä»£ãããæžããã®ã§ããã®ãã³ãããŒã¯ã®é¢é£æ§ã«ã€ããŠåœŒã«å°ããæ¹ãè¯ããšæããŸãã
ã²ã
-æååã«ã€ããŠè©±ããŸãããã ããã«ãã£ãšã³ã³ãã¯ãã«èšé²ããæ¹æ³ã«é¢é£ããŠãçŸåšããŸããŸãªç 究ãããã§è¡ãããŠããããšã¯ç§å¯ã§ã¯ãããŸããã è¿å¹Žããã®ã¯ã©ã¹ãå€åãå§ããããšã¯ç§å¯ã§ã¯ãããŸããã éšåæååïŒïŒã®çœ®ãæããããã³JDK 7u6ã®å 容ãªã©ã ãã©ãããã©ãŒã ã®åºæ¬ã¯ã©ã¹ãå€æŽããã®ã¯ã©ãã»ã©æãã§ããïŒ ãã®ã¯ã©ã¹ã§ã®äœæ¥ã¯ãä»ã®ã¯ã©ã¹ã§ã®äœæ¥ãšã©ã®çšåºŠç°ãªããŸãããäžéšã®changsetã¯ã©ã®çšåºŠè€éã«ãªããŸããïŒ ããã¯éåžžã«ç®ã«èŠãããšãªã¢ã§ãããçŸåšæŽ»çºãªäœæ¥ãè¡ãããŠããã®ã¯é©ãã¹ãããšã ããã§ãã
KuksenkoïŒ ãããã§ãããçš®ã®ãã§ã³ãžãã°ãèããŠãããã«è©³ããèŠãŠã¿ãŸãããããšãã質åã¯ãããŸããããããããåŸãããåå©ã®è³ªåã§ãã ãããŠãã©ã®ã¢ããªã±ãŒã·ã§ã³ã§ãã¡ã¢ãªã®50ïŒ ãå ããããšãããã£ãŠããã¯ã©ã¹ãããå Žåã¯ããã以äžã§ã¯ãããŸããããããã䜿ã£ãŠäœããããŸãããã ç¹ã«ãå€ãéçºãé ãããŠããªãå®éšããã£ãã®ã§ããããããæã§ãã
-ãªãããªãã¯ä»¥åãã®åéã§åããŠããŸããããä»ããã匷åããŠããŸããïŒ é·å¹Žã«ããã£ãŠãç®ã²ãã«é¢ããå€ãã®è³ªåãèç©ãããŠããŸããã
KuksenkoïŒãã®åéã§ä»äºããã£ããšã¯èšããŸããã å®äºããŸããã ããããããããã¯åžžã«æåŸãŸã§ããããããããã§ã¯ãªããå®éšçãªãŸãŸã§ããããåæã«éã³ã®ã¬ãã«ã§å©çšå¯èœã§ããã ããžã§ã³ã¯ããããã©ã®ããã«è¡ãããã¹ããã圢æããŸããã 10åã®äœ¿çšãã¿ãŒã³ãããå Žåã«æé©åãè¡ãã®ã¯éåžžã«ç°¡åã§ã誰ãããããã®10åã®ãã¿ãŒã³ã«ãžã£ã³ãããŸãã
座ã£ãŠãããã10åã®ãã¿ãŒã³ã解æãããããã®åäœãæé©åããŠãåã¡ãŸãã
ã¯ã©ã¹ãåãçŸäžéãã®æ¹æ³ã§äœ¿çšããããã®å Žæã§è«å€§ãªãšã©ãŒãçºçããå Žåããã³ã·ã§ã³ããäœããæ¥ãã§æžãããããªãããšã¯æããã§ãã ããã§ã¯ããŸãããããã®ã²ã€ã³ãã©ã®ããã«ãªã£ãŠããã®ãã確èªããå¿ èŠããããŸããæªåããŠããªã人ã«ãšã£ãŠã¯ãããã¯æ¹åãããåæã«äœãå£ããŸããã ããããã¹ãŠã®ã¢ã¯ã·ã§ã³ããã¹ãŠã®äœæ¥ã§ãã
Oracleã¯ãJavaããã³Sunã®éçºã«ãããå·¥æ°ã®æ倧ã³ã¹ããéçºã®åéã§ã¯ãªããQAã®åéã§ãããšããäºå®ã決ããŠé ããŸããã§ããã
-ä»æ¥ãããªãã®æšå®ã«ãããšãããŒãœããªãã£ã«åãæ¿ããããšãªããQAãOracle JavaãOpenJDKã®Javaã¯ã©ãã»ã©åŒ·åã§ããïŒ ã€ãŸããããªãã¯ããªãã®æèŠã§ããã°ãã°æ·±å»ãªäœããèŠéããŠããŸããïŒ ãããšãèšãã®ã¯é£ããã§ããïŒ
KuksenkoïŒèšãã®ã¯é£ããã§ãã ãã®ãšãªã¢ã«ã¯å€§ããããã®ã§å ¥ããªãããã«ããŠããŸãã ç§ãã¡ã«ã¯çŽ æŽãããå°é家ãããŸãã圌ãã¯ãã£ãšè¯ãåå¿ãããšæããŸãã QA-, .
â JDK 7 update 6 substring(). : , , , . : , ? , . , , -.
: -, , ⊠-, , . , , : « JDK 7 Update 6, , , », ., , , Offset , , â , .
â ?
: â . , , , , , , . , , , - . , , « , - ». , , , , , , . , â , , . . , .
Stream API
â Java 8. Stream', Stream API, Bulk Data Operations, . ? . , , , , , â , ? Stream' - ?
: , , Java 8, Stream', JDK 9 . , , , , , JDK 8. Stream' , , , . - , .
. , , , , Stream API . , , .
â , Stream API (Collections) API?
: , Stream API API Stream API , , Stream . : , ? , . , , , , , .
, , , , , : 100 ( , â .. apangin ), , , 99%. 100 , . 10 , ⊠.
â 100 â ?
: , . Stream API , . hotspot JDK. , , , , , , , .
â . , , , Oracle , Sun, OpenJDK, . , Oracle , , - , , , , , , , , - , . . â , , , . , , ?
: - , , . , 100 , , . , . , , , , , , , -, , , , . â , , , , , , , , , , , , Java, . , .
â , ?
: , .
â , , ?
: Oracle Labs, , High Performance, High Concurrency . Oracle Labs â , , , , , .
â , , . GC â , â , Stream' â , VM â , JIT â ...
: ? â . â . . computer science, .
â Java, , Oracle Java SE Performance Team. , , , .
: . , , JDK, , . : , . : , , - , . , , .
â â ?
: , .
â ?
: Lambda, Jigsaw, Application Data Sharing. String - . - G1 Garbage Collector.
â performance-, (, , )? , concurrency-interest , . community, ?
: : , . , , Hotspot, - , . - OpenJDK mailing list , . , Hotspot Class Libraries, , . , - , , , , , , .
â âŠ
: , .
â , , , ?
: , , , - Hotspot, , , - , . Oracle, , , , , , , , , , .
â , ? - ? Java, - ?
: .
â ? , , , , Java â , , , . , ?
: . , - Highload, â . , , , . , a) , , b) , , c) , . , . , , . , , Java SE , 10 .
â , , ?
: , , . , , Garbage Collector Class Libraries, , . , - , , , . , . , .
â , Oracle Java , VM? , - , ?
: â . - , , - .
â , , , Java- Rocket Science, , , , , , Google V8, , .NET, ?
: .NET. . Google V8 â .
â , JVM- Dalvik . , â , VM . , Android', VM- ?
: â . , , , - . Java, .
â , - , , , , , - .
: . , .
â , , , .
: API , . , , API, , . , , , . API from scratch, , . .
JVM
â , ⊠, â , - .
: . .
â Oracle ?
: -?
â ? 20 VM , . VM- Oracle JDK? .
: Embedded VM, embedded, , .
â Hotspot?
: Hotspot, Embedded Hotspot, .
â footprint - ?
: , .
â ARM, ?
: ARM VM ARM. , Hotspot. JRockit, - . , , , . , , -, , JRockit Java 6.
â JRockit?
: .
â 2010 â Sun Oracle, JRockit Hotspot, - , , , , ? ?
: Oracle, Oracle , . , . â .
â Hotspot, JRockit.
: .
â ? , , , , , , .
: , .
â , ? , .
: . , , , . . , « Hotspot JRockit», 70-80%, , . : « JRockit, Hotspot», â . : « JRockit Hotspot, ?». , , , , , , . , , Hotspot, QA (00:48:34), , JRockit Hotspot, .
â Metaspace, Flight Recorder Mission Control. , JRockit Hotspot?
: , , , , , , JRockit. 100% , âŠ
â ?
: . , VM .
â , JIT-, C2-, , ? , JIT - .
: , , , JIT , JIT- C2. , - , , . -, , , . â . , , .
â ?
: , , . â -, . .
â ?
: , , , , . C C++ .
â ? Java?
: , Graal â , , , .
â , , , .
: . , Oracle. , GPU , . , â . , , , Hotspot, .
â GC. Shenandoah, RedHat . - , ?
: , .
â ? ?
: , RedHat Shenandoah Hotspot, - .
â , Garbage First Collector, , CMS Collector. , , , , ?
: , , . â «»
â Garbage First , , , , ?
: , Garbage First, , . Java One , Garbage First. Java One, . , , , : « , ?», .
, Garbage First , - . , , - . , Garbage First . , .
? -, CMS- , . , , : «, , , â ». , Garbage First , . , Garbage First, , â - . â Java 7 Java 8, Java 7âŠ
â end of life⊠, .
: - . â .
â . , .
: : , , « . ? . ».
â , , , , - , , , . GC? , , , . Garbage First , . , . , . ?
: , , . , â «». , . 10 . , , , . , , , , «». , , , , , , . , , . Java Hotspot, Garbage Collector, , , - â , â , , , , .
â . , , . â Hotspot, GC, Runtime, , â , , -, , â , - , , , , . , GC â â , â .
: . , , , , , , - , , , , , - : « 60 /», . ?
â â ?
: . 60 /, 60 /, , ? , . , , , , , - , , CMS- , , -, , .
â , , ...
: . , « , . , ».
â ?
: .
â , , , , , , , «» , , , â - . , , , , , Runtime ?
: , -, , , Runtime , .
. , Runtime, , , , , , , . , 100 . , , : « , , , , , ». , , , , , , . , , , , . . , , - , â .
JPoint
â , JPoint . , . , , ? , ?
: - , . , , , , .
, «», , , , , , , - , .. , , , -. , - , , , . , , , , .
â , , , - ?
: , . , . , , 40% . , , , , , .
â - .
: , : , , , .
PS:
, , .
JPoint â .