Golang 1.21ã§ããã°ã©ãã³ã°ã«é©åœãèµ·ããïŒæ°ããçµã¿èŸŒã¿é¢æ°ããããã¡ã€ã«ã¬ã€ãã«ããæé©åãªã©
Googleã®ããã°ã©ãã³ã°èšèªGoã®ãªãªãŒã¹ãããã°ããã®ããŒãžã§ã³ãGolang 1.21ã玹ä»ãããããã«ãã€ã³é¢æ°ã§ããã°ã©ãã³ã°ã®ã¯ãŒã¯ãããŒã匷åãããããã¡ã€ã«ã¬ã€ãã«ããæé©åããã¬ãã¥ãŒæ®µéããå€ããŸããããã®ããŒãžã§ã³ã§ã¯ãWebAssemblyã®äºææ§ãæ¹åãããŠããŸãã

çŸä»£ã®ããã°ã©ãã³ã°äºæ ã¯ãGoogleã®ããã°ã©ãã³ã°èšèªGoã®æ°é®®ãªã¢ããããŒãã§ããGolang 1.21ã®å°çãç®æãããæ°ããçµã¿èŸŒã¿é¢æ°ãšãããã¡ã€ã«ã¬ã€ãä»ãæé©åïŒPGOïŒã®äžè¬çãªå©çšå¯èœæ§ã§åŒ·åããããã®ããŒãžã§ã³ã¯ãããã°ã©ãã³ã°äœéšãåå®çŸ©ããããšããŠãããããã«ãWebAssemblyãšã®äºææ§ã匷åãããŠããã
ãã®ããŒãžã§ã³ã§æ³šç®ãã¹ãã¯ãçµã¿èŸŒã¿é¢æ°ã§ããminãmaxãclearã§ãããmin颿°ãšmax颿°ã¯ãé åºä»ããããåãŸãã¯ãããããæ±ºããããæ°ã®åŒæ°ã®æå°å€ãŸãã¯æå€§å€ãèšç®ããããã«èšèšãããŠãããã©ã¡ããæ©èœããããã«ã¯å°ãªããšã1ã€ã®åŒæ°ãå¿ èŠãšãããäžæ¹ãclear颿°ã¯ãããããã¹ã©ã€ã¹ããŸãã¯åãã©ã¡ãŒã¿ãŒã®åã察象ãšããåŒæ°ã®ãã¹ãŠã®èŠçŽ ãæ¶å»ãŸãã¯ç¡å¹ã«ããŸãã
8æ8æ¥ã®å ¬åŒãªãªãŒã¹ä»¥æ¥ãGolang 1.21ã¯ãããžã§ã¯ãã®ãŠã§ããµã€ãããããŠã³ããŒãå¯èœã§ãããã®æ¬çªãªãªãŒã¹ã¯ã6æ21æ¥ã«å ¬éããããªãªãŒã¹åè£ã«ç¶ããã®ã§ãã
PGOã¯ã2æã«Golang 1.20ã®ãã¬ãã¥ãŒãšããŠå°å ¥ãããŸããããææ°ããŒãžã§ã³ã§é£èºçãªé²æ©ãéããŸãããäžè¬ãªãªãŒã¹ã§å©çšå¯èœã«ãªã£ãPGOã¯ãã©ã³ã¿ã€ã ã»ãããã¡ã€ã«æ å ±ã«åºã¥ããŠã¯ãŒã¯ããŒãåºæããã³ã¢ããªã±ãŒã·ã§ã³åºæã®æé©åãè¡ãã³ã³ãã€ã©ã»ããŒã«ãã§ãŒã³ã匷åãããGoãããžã§ã¯ãéçºè ã®äž»åŒµã«ãããšãPGOã¯ããŸããŸãªããã°ã©ã ã«ãããŠ2ïŒ ãã7ïŒ ã®æ§èœåäžã«æåãããšãããGoã³ã³ãã€ã©ãŒã¯PGOã®æ©èœã§ã¢ããããŒããããã
Goã³ã³ãã€ã©ãšPGOã®é²æ©ã ãã§ãªããGolang 1.21ã¯ãããªãæ§èœåŒ·åããããããŠããŸããã¬ããŒãžã³ã¬ã¯ã¿ã®æé©åã«éç¹ã眮ãããšã§ãç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ã®ããŒã«ã¬ã€ãã³ã·ãæå€§40%åæžã§ããå¯èœæ§ããããŸããåæã«ãruntime/traceã§ãã¬ãŒã¹ãåéããããã»ã¹ã¯ãAMD64ãšArm64ã·ã¹ãã äžã§CPUã³ã¹ããå€§å¹ ã«å°ãããªããŸãã
ããã¯ãšã³ãã¢ããªã±ãŒã·ã§ã³ã«ãããã®æ©èœãå®è£ ããããšããŠããéçºè ã«ãšã£ãŠãAppMaster ã¯åªããåºçºç¹ãšãªãã匷åãªno-code ããŒã«ã§ããAppMaster ã§ã¯ãããŒã¿ã¢ãã«ãèŠèŠçã«èšèšããããžãã¹ããžãã¯ãäœæããREST API ãš WSS ãšã³ããã€ã³ããäœæããããšãã§ããŸãããã®åŒ·åãªæ©èœã掻çšããããšã§ãééããªãéçºäœéšãåäžãããGolang 1.21ã®æ©èœã䜿çšããŠããã©ãŒãã³ã¹ãæé©åããããšãã§ããŸãã


