ããŒãžã§ã³2.Xãš3.Xã®éã§60ïŒ ã®ããã©ãŒãã³ã¹äœäžããããŸãã ããŸããŸãªããŒãžã§ã³ã®ä»¥äžã®ãã£ãã«ã®ã¬ã³ããªã³ã°æéãã°ãåç §ããŠãã ããã ã¹ã¿ã€ãªã³ã°ãèšç®ãè¡ããã«çŽç²ãªã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã瀺ãããã«ç°¡ç¥åãããäŸã
2.18ãã£ãã«ã¬ã³ããªã³ã°æéïŒã500ms
3.18ãã£ãã«ã¬ã³ããªã³ã°æéïŒã800ms
ç§ã®ãã·ã³ã®Chrome81ã§æ°åå®è¡ããåŸã次ã®ããã«ãªããŸããã
2.18ãã¹ãã¿ã€ã ïŒ283ms
3.18ãã¹ãã¿ã€ã ïŒ471ms
ããã¯ãDevToolsãéããç¶æ ã§å®è¡ããŠããŸããã
次ã«ã次ã®æ¹æ³ã§3.18twiddleãEmberOctaneã«å€æããŸããã
@tracked
ã䜿çšãã @computed
ã䜿çšããªããt-r
ã³ã³ããŒãã³ãã¯ããããã³ã°ã¯ã©ã¹ãå¿
èŠãšããªãããããã³ãã¬ãŒãã®ã¿ã®ã³ã³ããŒãã³ãã«å€æããŸããthis.
ããŸãããã®åŸã3.18.1ããåŸããã¹ãã¿ã€ã ã¯276msã ã£ãã®ã§ã2.18ã®æ°å€ã«æ²¿ã£ãŠææ矩ãªæ¹åãèŠãããŸããã
ãã ãããããã®ããã©ãŒãã³ã¹ãã¹ãã¯ç¹ã«ç§åŠçãªãã®ã§ã¯ãªããããã©ãŒãã³ã¹ã®èŠ³ç¹ããã©ã®å€æŽãæãéèŠã§ãããã«ã€ããŠã¯èª¿æ»ããŠããŸããã
ã²ããã§ã®ãããã¡ã€ãªã³ã°ã¯ããªããšã©ãŒãçºçããããã§ããããããã¡ã€ãªã³ã°ããããã«éåžžã®ember-cliã¢ããªãªããžããªã«ç§»æ€ã§ããŸããïŒ2ã€ã®ããŒãžã§ã³ã®ããããã«ãã©ã³ãã䜿çšïŒïŒ
@rwjblueéåžžã®ember-cliã¢ããªã§ãåãçµæãåŸãããŸãã ããã§ãã¹ãã§ã
@ richard-vineyèæ ®ãã¹ãæ¹åç¹ããããããããŸããããåé¡ã¯ãäž¡æ¹ã®ããŒãžã§ã³ã§éæšå¥šã®ã³ãŒãã䜿çšãããŠããããããã©ãŒãã³ã¹ã®äœäžã蚱容ã§ããªãããã«èŠããããšã§ãã
@barisnisanciåæããŸãããã¢ããã°ã¬ãŒãæã«ããã©ãŒãã³ã¹ãå€§å¹ ã«äœäžããã®ãé²ãããã«ããã®çš®ã®ãªãã¡ã¯ã¿ãªã³ã°ãå¿ èŠã§ããããšã瀺åãã
ä»åšããLTSããŒãžã§ã³ãã€ãŸã3.4ã3.8ã3.12ãããã³3.16ããã¹ãããããšã«ãããã©ã®EmberãªãªãŒã¹ãããã©ãŒãã³ã¹ååž°ãå°å ¥ããããç¥ãããšã¯èå³æ·±ãã§ãããã
@barisnisanci Ember Twiddleãšember serve
ã¯ãããã©ã«ãã§éçºã¢ãŒãã§å®è¡ãããŸãã éçºäžã«ãããã©ãŒãã³ã¹ã倧å¹
ã«äœäžãããå¯èœæ§ã®ããå€ãã®è¿œå ããŒã«ãæå¹ã«ãªããŸãã éçºè
ã®äººéå·¥åŠã«åœ±é¿ãäžããã»ã©æªãå Žåãé€ããŠãéåžžãããããªã°ã¬ãã·ã§ã³ãåé¡ãšã¯èŠãªããŸããã ãããã£ãŠãæåã«ãäž¡æ¹ã®ããŒãžã§ã³ãæ¬çªã¢ãŒãã§å®è¡ããŠããããšãå確èªããŸãã
ç§ã¯ããªãã®äŸãããŠã³ããŒãããæ¬çªã¢ãŒãã§2.8ãš3.18ã®äž¡æ¹ã䞊ã¹ãŠæäŸããŸããã ç§ãèŠã€ããã®ã¯ãããªããæ£ããããã«æããããšããããšã§ãããå¹³åããŠã2ã€ã®ãã«ããŒæäœïŒããã§æž¬å®ãããŠãããã®ïŒéã®ã¿ã€ãã³ã°ã¯ã2.8ããã3.18ã®æ¹ã倧ããããã§ãã ããã¯ãå€ãã®ã³ã³ãããŒã«ã䜿çšããã«ä»äºçšã®ã©ãããããã§ããã€ãã®ãµã³ãã«ãååŸããããšã«åºã¥ããŠããããã確å®ã«èšãã®ã¯é£ããã§ãããç®ãèŠåŒµããšãããããªå€æŽã«ãªãå¯èœæ§ããããŸãã
ãã ããä»ã®ããæå³ã®ããã¡ããªãã¯ãèŠããšãå€åã¯èŠãããŸããã ç¹ã«ã³ã³ãã³ããã¬ã³ããªã³ã°ããããã®å šäœçãªæéãèŠããšããããã¯äžè¬çã«ã»ãŒåãããã«èŠããŸãã ããšãã°ãæåã®ãã€ã³ããŸã§ã®æéã¯ã»ãŒåãã§ãã
å€ãã®äœæ¥ãå€ãã®å Žæã«åæ£ããŠããããšãèŠããŠããããšãéèŠã§ããå€æŽãå ãããšããã®äœæ¥ã¯åãåã£ãŠãã_å šäœã®_ã¡ããªãã¯ã«ã¯åœ±é¿ããŸããã ãããã TracerBenchã䜿çšããŠããã©ãŒãã³ã¹ã®å€åããã§ãã¯ããçç±ã§ããããã¯ãã¬ã³ããªã³ã°ã®å šäœçãªãã§ãŒãºãèæ ®ãããã«ããŒã®å®è¡éã®ã¿ã€ãã³ã°ãªã©ã_micro_ã¬ãã«ã§ã¯ãªã_macro_ã¬ãã«ã§ãã¹ãŠã®å€æŽãèæ ®ããããã«èšèšãããŠããããã§ãã
ãããã®çµæãæ€èšŒããäžè¬çã«ã¹ãªããããŠããªãããšã確èªããããã«ãTracerBenchãã¹ããããé·ãæéã«ããã£ãŠããã«å®è¡ããå¿ èŠããããŸãïŒéåžžãæœåšçãªãªã°ã¬ãã·ã§ã³ãäºæ³ãããå°ããªå€æŽã«äœ¿çšããŸãïŒã ãŸãããã¬ã³ãã©ã€ã³ã確èªã§ããããã«ãå®æçã«å®è¡ããããã«ããŠãã ããã
@pzuraqãªããžããªãrowsCount:300
æŽæ°ãããšããã columnsCount:20
éããããç®ç«ã€ããã«ãªããŸããã ã©ã¡ãã--environment production
ãŸããJSããŒãã¯3.18ã§ãªãªãŒã¹ãããªãã£ãããGCã§éãæªãã£ãå¯èœæ§ãããããšã«ãæ°ã¥ããã
ã«ãŠã³ããå¢ãã代ããã«ãã¹ã¿ã€ã«ãã€ã³ãã£ã³ã°ããµãŒãã¹ã€ã³ãžã§ã¯ã·ã§ã³ãã³ã³ããŒãã³ãã®ããéãèšç®ãè¿œå ã§ããŸãããæ ¹æ¬çãªåé¡ãé ãå¯èœæ§ããããŸãã
ããªããèšã£ãããã«ãå šäœçãªæž¬å®åºæºã¯å°ããªå€æŽãããã¯ããã«éèŠã§ãã ãã ãããã®å Žåãããããªéããããã©ãŒãã³ã¹ã®å€§å¹ ãªäœäžã«ã€ãªãããŸãã 3.18ã«ã¢ããã°ã¬ãŒãããåŸãåçšã¢ããªã±ãŒã·ã§ã³ã®åæã¬ã³ããªã³ã°æéã15ç§ãã20ç§ã«å¢å ããŸããã ããããªããªç§ã®å€åã§ã¯ãªããããŒã»ã³ããŒãžã®èŠ³ç¹ããååž°ãæ€èšããããšãé¡ã£ãŠããŸãã
åœç€Ÿã¯ãã®åé¡ã«èŠããã§ããŸãã æ®ãç«ããŒãžã§ã³ã2.18ãã3.16ã«æŽæ°ããŸããã ãã®åŸãã¬ã³ããªã³ã°æéã¯ã50ãããŒã»ã³ãããé·ããªããŸããã è€éãªæ§é ã䜿çšãããšãããããªããªç§ã®å€åã§ã¯ãªããã¬ã³ããªã³ã°æéã®éããããæçœã«ãªããŸããã ãã®åé¡ã«é¢ããæŽæ°ã¯ãããŸããïŒ ã¬ã³ããªã³ã°æéã®50ïŒ ã®å¢å ã瀺ããã³ãããŒã¯ããããŸãã ãšãããã2.18ãä¿æããããšã«ããŸããã å€§å¹ ãªãªãã¡ã¯ã¿ãªã³ã°ãå¿ èŠãªå Žåã¯ããã¬ãŒã ã¯ãŒã¯ã®åãæ¿ããæ€èšããå ŽåããããŸãã
@ Caglayan06ãããã¯ã·ã§ã³ãã©ã°ã䜿çšããŠããããšã確èªã§ããŸããïŒ æ°åãã¢ããã«ãã¥ã¢ããã«ã§ããããšã確èªãããã ãã§ãïŒ
@ Caglayan06-ãããåäžã®ãã®ã§ããå¯èœæ§ã¯äœãã§ãã @barisnisanciãæäŸããè€è£œã¯ãã¢ããªã±ãŒã·ã§ã³ãããã¡ã€ã«ã瀺ããã®ãšäžèŽããªãå ŽåããããŸãã ã¢ããªã®äžè¬çãªåé¡ã®åçŸãæäŸã§ããŸããïŒãŸãã¯ã @ barisnisanciã®äžèšã®ãªããžããªã®äŸã䜿çšã·ããªãª/ãããã¡ã€ã«åºåãè¡šããŠããããšã確èªããŠãã ããïŒïŒ
ãã®ã¹ã¬ããã§ã®@barisnisanciã®ææ°ã®æçš¿ã«ã€ããŠã³ã¡ã³ãã¯ãããŸããïŒ
2.18ãã3.16ã«ã¢ããã°ã¬ãŒãããåŸãåæ§ã®ããã©ãŒãã³ã¹ã®åé¡ãçºçããŸããã ããã©ãŒãã³ã¹ã40ïŒ
äœäžããŸããã 3.12ã«ããŠã³ã°ã¬ãŒãããŸãããããã®æ倱ã®20ïŒ
ããç¯çŽã§ããã2.18ã»ã©ã§ã¯ãããŸããã§ããã åã«è¿°ã¹ãæ¹æ³ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ããã¬ãŒã ã¯ãŒã¯ã®åãæ¿ããšã»ãŒåããããã®æéãããããŸãã ãã®åé¡ã«å¯Ÿããäœããã®è¡åãæåŸ
ããŸããïŒ
æè¿ãember 3.16.8ã«ã¢ããã°ã¬ãŒãããŸããããperfãã¹ãã±ãŒã¹ã¯ãªããããã©ãŒãã³ã¹ã®æãããªåé¡ã¯ä»ã®ãšããèŠã€ãããŸããã
ããããç§ã¯ããã©ãŒãã³ã¹ã®åé¡ãããã«è§£æ±ºããŠè§£æ±ºããããšã楜ãã¿ã«ããŠããŸãã
>>
PSïŒie11ã§äœ¿çšãããããå€ãã®ã¡ã¢ãªãšCPUã æã ããã¯ie11ã¯ã©ãã·ã¥ãåŒãèµ·ãããŸãã
@ Caglayan06-ãããåäžã®ãã®ã§ããå¯èœæ§ã¯äœãã§ãã @barisnisanciãæäŸããè€è£œã¯ãã¢ããªã±ãŒã·ã§ã³ãããã¡ã€ã«ã瀺ããã®ãšäžèŽããªãå ŽåããããŸãã ã¢ããªã®äžè¬çãªåé¡ã®åçŸãæäŸã§ããŸããïŒãŸãã¯ã @ barisnisanciã®äžèšã®ãªããžããªã®äŸã䜿çšã·ããªãª/ãããã¡ã€ã«åºåãè¡šããŠããããšã確èªããŠãã ããïŒïŒ
@rwjblue @barisnisanciã®äŸã¯ã @ barisnisanciã®èšãæ¹ãšåãããã«
@ Caglayan06ãããã¯ã·ã§ã³ãã©ã°ã䜿çšããŠããããšã確èªã§ããŸããïŒ æ°åãã¢ããã«ãã¥ã¢ããã«ã§ããããšã確èªãããã ãã§ãïŒ
@scottmessingerã¯ããæ¬çªãã©ã°ã䜿çšããŠããŸãã @barisnisanci 'ã®çµæãš
ã³ãŒãæ§é ãæ¹åããŸããã ããã©ãŒãã³ã¹ã¯åäžããŸããããããã§ãember2.18ããŒãžã§ã³ã»ã©é«éã§ã¯ãããŸããã 2.18ã§ãã®å€æŽãè¡ããšãæè¯ã®çµæãåŸãããŸããã
ã³ãŒãã·ã¹ãã ããªãŒããŒããŒã«ããŠ3.16ã³ãŒãæ§æãšæ°æ©èœãå€æŽããããšã¯ã§ããŸããã ç§ãã¡ã®ãããžã§ã¯ãã¯å·šå€§ã§ãããããããã¯ç§ãã¡ã«ãšã£ãŠã³ã¹ããããããããŸãã ããããããã¹ãŠã®ãããžã§ã¯ãããªãã¡ã¯ã¿ãªã³ã°ããããšã¯ããã¬ãŒã ã¯ãŒã¯ãå€æŽãããããã³ã¹ããããããŸãã ãã®åé¡ã«å¯ŸããŠäœããã®æªçœ®ãåãããŸããïŒ
ãã®åé¡ã«å¯ŸããŠäœããã®æªçœ®ãåãããŸããïŒ
ã¯ãããã¡ããïŒ ãããã¡ã€ã«ãäœæããäœãèµ·ãã£ãŠããã®ããç解ããæéãèŠã€ããå¿ èŠããããŸãã ããããããã¯æ¬åœã«èª°ããåŸ ã€å¿ èŠã¯ãããŸããããããªãã¯æãäžããŸãðž
@rwjblue @barisnisanciã®äŸã¯ã @ barisnisanciã®èšãæ¹ãšåãããã«
@ Caglayan06-ããŒããããã¯ç§ãå®éã«å°ãããã®ã§ã¯ãããŸããã @barisnisanciã®äŸãæ©èœããããšã¯ããã£ãŠããŸããããã確èªãããããã¡ã€ã«ãäœæããããã©ãŒãã³ã¹ç¹æ§ãã¢ããªã±ãŒã·ã§ã³ãšæ¯èŒããŠãäŸãæ©èœããïŒãããŠé ãïŒ_way_ãã¢ããªã±ãŒã·ã§ã³ãšäžèŽãããã©ããã
@ Caglayan06-ããŒããããã¯ç§ãå®éã«å°ãããã®ã§ã¯ãããŸããã @barisnisanciã®äŸãæ©èœããããšã¯ããã£ãŠããŸããããã確èªãããããã¡ã€ã«ãäœæããããã©ãŒãã³ã¹ç¹æ§ãã¢ããªã±ãŒã·ã§ã³ãšæ¯èŒããŠãäŸãæ©èœããïŒãããŠé ãïŒ_way_ãã¢ããªã±ãŒã·ã§ã³ãšäžèŽãããã©ããã
ç§ã¯çµ±å@rwjblueã®@barisnisanciã¬ãæã
ã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãããã¯åæ§ã®çµæãåŸãããŸããã ããŒãžã§ã³ã3.16ãã3.12ã«å€æŽãããšãããã©ãŒãã³ã¹ãåäžããŸããã
ããããããã§ã2.18ããŒãžã§ã³ã»ã©é«éã§ã¯ãããŸããã
ããã€ãã®äŸã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ïŒ
çµæãšããŠïŒ
ã³ãŒãæ§é ãåèšå¹³åã¬ã³ããªã³ã°æéãæ¹åããŸããã
2.18ã¬ã³ããªã³ã°æéïŒ1xç§
3.16ã¬ã³ããªã³ã°æéïŒ1.6xç§ã
3.12ã¬ã³ããªã³ã°æéïŒ1.4xç§ã
3.20ã«ã¯VMã¢ããã°ã¬ãŒããããã®ã§ããããããã§åœ¹ç«ã€ãã©ããçåã«æããŸã
@NullVoxPopuliã¯3.20.0-beta.2FPã§éããªãã£ãïŒ3.4ç§ïŒ3.18ãšåãïŒ
3.12ã®æ¹ãè¯ãçµæãåŸãããã®ã§ãèªå远跡ã§åé¡ãçºçããå¯èœæ§ããããšæããŸãã ãŸããïŒ18225ã¯ã @ Caglayan06ã®3.12-> 3.16ãã³ãããŒã¯ã§ã®ã¢ããªã±ãŒã·ã§ã³å šäœã®ããã©ãŒãã³ã¹ã®äœäžãèæ ®ããŠé¢é£ããŠããå¯èœæ§ããããŸãã
ããŒãã åŸæ¹äºææ§ã®ãã®ã¯ã©ããããã®ãªãŒããŒããããããã®ã ããã
ããã€ãã®äžè¬çãªè³ªåïŒ
ããã€ãã®äžè¬çãªè³ªåïŒ
- éåæãªãã¶ãŒããŒã®ãªãã·ã§ã³æ©èœãã©ã°ã®å€ã¯äœã§ããïŒ
- åé¡ã®ã¢ããªã¯QPã䜿çšããŠããŸããïŒ
- è² ã®é床ã¯ãã¹ãŠã®ã«ãŒãã«åœ±é¿ããŸããããããšãäžéšã«ã®ã¿åœ±é¿ããŸããïŒ
@rwjblue
ãŸãããµã³ãã«ãªããžããªã¯äžèšã®ãããã䜿çšããŠããŸãããã3.Xã§ã¯ããã«äœéã§ãã ãã€ããŒããŒãžã§ã³ããšã«ã¬ã³ããªã³ã°æéãåŸã ã«é·ããªãå¯èœæ§ããããããæ£ç¢ºãªåé¡ãç¹å®ããããšã¯ã§ããŸããã
Tracerbenchã®ã¬ããŒãã«ãããšã2.18ãã3.18ã¯ããã®ã·ããªãªã§ã¯æ倧17ïŒ ååž°ããŸãããã°ãªããŒã³ã³ããŒãã³ããžã®å€æãè¡ããããšãååž°ã§ã¯ãªãæ倧18ïŒ åäžããŸãã
2.18ãã3.18ãã®ä»ã®å€æŽãªã
2.18ãã3.18+ãªã¯ã¿ã³+ã°ãªããŒã³ã³ããŒãã³ã
ãã®ããã®èªåã©ã³ããŒãè¿œå ããç¬èªã®ãã©ãŒã¯ãæã£ãŠãããããŒãžã§ã³/ã³ãããã§ãã°ããçµã蟌ãã§ãªã°ã¬ãã·ã§ã³ãçºçããå ŽæãèŠã€ããããšãã§ããããã«ãã©ã³ããŒã®æ¹åã«åãçµãã§ããŸãã https://github.com/runspired/version-performance/runs/801596557
ãããã®ãã¹ããèšå®ããŠããã@runspiredã«å€§ãã«æè¬ããŸãïŒ ååž°ã確å®ã«æž¬å®ããããã®ç¢ºå®ãªèšå®ãã§ããã®ã§ããããã®åé¡ã®ä¿®æ£ã«åããŠå埩ããããšãã§ããŸãã
ã³ã³ããã¹ããšããŠã @ krisseldenã¯TracerBenchããç¹ã«å šäœçãªæ¹æ³ã§ããã©ãŒãã³ã¹ããã¹ãããããã®ããŒã«ãšããŠéçºãããã³ã¬ãŒã¿ã®èªå远跡/æ¹èšè¿œè·¡ãªã©ãå éšã®äž»èŠãªãªãã¡ã¯ã¿ãªã³ã°ã«äœ¿çšããŠããŸãã LinkedInã§ã¯ãEmberãã¢ããã°ã¬ãŒããããã³ã«ã¢ããªã±ãŒã·ã§ã³ããã¹ãããããã«äœ¿çšããŠããŸããããã®ã¬ãã«ã®ãªã°ã¬ãã·ã§ã³ã¯èŠãããŸããã
ããããããã¯ééããªãç§ãã¡ãèŠéãããã®ãããããŸããã æåŸã«ãç¹å®ã®ãŠãŒã¹ã±ãŒã¹ãšåäœãæã€ç¹å®ã®ã¢ããªããã¹ãããŠããŸãã ããã¯ããã¹ãã±ãŒã¹ã¢ããªã@barisnisanciã®è€è£œãªã©ãååž°ããæ©èœã䜿çšããŠããªãã£ãããã«æ€åºã§ããªãã£ãåé¡ã§ããå¯èœæ§ããããŸãã ãŸãããã®è€è£œã®åé¡ãä¿®æ£ããŠããä»ã®åé¡ãä¿®æ£ã§ããªãå¯èœæ§ããããŸãããã®ããããªã°ã¬ãã·ã§ã³ãçºçããŠããå Žåã¯ããŠãŒã¹ã±ãŒã¹ã®è€è£œããã²ãå§ãããŸãã TracerBenchã®ã»ããã¢ããã䜿ããããããŠãããŒã«ã«ã§ãã¹ããã @ runspiredã®ãããªäºå®ã§ãã
æ£ç¢ºãªåé¡ãäœã§ããããç解ãã解決çãèŠã€ããããã«æãäžããŠãããŸãã æãéèŠãªããšã¯ããã®ã¬ãã«ã®ãªã°ã¬ãã·ã§ã³ã¯ãOctaneã§ã¹ããŒãã¢ãããèŠããããšããŠãã_any_APIã§ã¯åãå ¥ããã
ä»åŸã®ã¢ããããŒãã«ãæåŸ ãã ãããç¶æ³ãããã次第ãç¥ããããŸãã
@runspiredã®éªæªãªã¯ãŒã«ãªhttps://github.com/TracerBench/tracerbench-compare-actionã«æè¬ã
ããã«ã€ããŠç°¡åãªæŽæ°ããããã£ãã ãã§ãïŒ
ç§ãã¡ã¯ããšèšå®@runspired 1ã«é¡äŒŒTracerBenchãã¹ãèµ°ã£emberobserver.comãããªãããã£ããã©ããã確èªããããã«ç§ãã¡ã®éåžžã®ãã¹ãã¢ããªã±ãŒã·ã§ã³ã®äžã€ã§ãããã«ãšã«æ²žéš°ã®ããŒãžã§ã³ããéèŠã§ã¯ãªãã£ãïŒäŸãã°ãå°ããªããã©ãŒãã³ã¹ã®å€åãçºçããŠããŸããããŒãžã§ã³ã§ãããåèšãããšå€§ããªã·ããã«ãªããŸãïŒã ãã®ãã¹ãã®çµæã¯æ¬¡ã®ãšããã§ãã
ãããã®çµæããã2ã€ã®ããªã決å®çãªãžã£ã³ããããããšãããããŸãã
3.17ã§ã®ãªã°ã¬ãã·ã§ã³ã¯ãGlimmer VMã®ã¢ããã°ã¬ãŒãã«ãããã®ã§ããããã¯ããªãæè¿ã®ãã®ã§ãããLTSãµã€ã¯ã«ã§éããªãæŽæ°ãããã¢ããªã±ãŒã·ã§ã³ã«åœ±é¿ãåãŒãå§ããå¯èœæ§ããããããçŸåšããããæžããããšã«éç¹ã眮ããŠããŸãã
3.1ã§ã®ãªã°ã¬ãã·ã§ã³ã¯ãã³ã¢ããŒã ãšã®è©±ãåãã®çµæãåœæå®éã«ç¥ãããŠããŸããã ããã¯ãäžéšããã€ãã£ãã²ãã¿ãŒãæå¹ã«ãã Object.defineProperty
ã䜿çšããããšãåå
äžè¬ã«ããã®åé¡ã®åé ã§æèµ·ããã{{each}}
ã·ããªãªã¯ãemberobserver.comãããããŸããŸãªæ¹æ³ã§åŸéããããã§ãã 3.17ååž°ãæãäžãããã {{each}}
æé©åã«çŠç¹ãåœãŠãŠãããã§äžè¬çã«äœãæ¹åã§ãããã確èªããŸãã
ãåŸ ã¡ããã ããããããšãããããŸãã
ãã®åé¡ã«é¢ããææ°æ å ±ãå ¥æã§ããŸããïŒ çŽ2ã¶æã«ãªããŸãã
ã¯ãïŒ 2ãæãçµã¡ãŸããããç§ãã¡ã¯ãã®åé¡ã«æžåœã«åãçµãã§ãããGlimmerVMã§ãªãã¡ã¯ã¿ãªã³ã°ãç¶ç¶ããŠããŸãã
åã«è¿°ã¹ãããã«ãç§ãã¡ã¯2ã€ã®å¥ã ã®ä¿®æ£ã»ããã«çŠç¹ãåãããŠããŸããã
æåã®äžé£ã®ä¿®æ£ã§ã¯ãæã圱é¿ãåããã³ãŒãã§ãããããããªãã®éã®åŸæ¥ã®Emberã³ãŒãããªãã¡ã¯ã¿ãªã³ã°ããŸããã LinkedInã®å éšã¢ããªã±ãŒã·ã§ã³ã§ã®ãã¹ãã«åºã¥ããŠããã®æ¹æ³ã§å šäœçãªããã©ãŒãã³ã¹ã®äœäžã3.16ã3.20ããçµ±èšçã«ææã§ãªãéãŸã§æžããããšãã§ããŸããã æ®å¿µãªãããEmber Observerã«å¯ŸããŠãã¹ããå®è¡ããæ©äŒã¯ãããŸããã§ããããéåžžã¯ããªãå¯æ¥ã«è¿œè·¡ããŠãããããåæ§ã®çµæã«ãªããšæããŸãã
2çªç®ã®ä¿®æ£ã»ããã§ã¯ã次ã®ãããªå€ãã®ä¿®æ£ãéåžžã«å€§ããã£ããããæ¯èŒçæè¿ã«ãªããŸããã
çµæã¯ããªãçŽ æŽãããã§ãïŒ
ããã¯ãEmberã®çŸåšã®ãã¹ã¿ãŒãEmber 2.18ãšæ¯èŒããŠãããäžèšã®@barisnisanciããã®è€è£œã§ãã ããŠãåè¿°ã®ããã«ãããã¯éåžžã«ç¹æ®ãªãŠãŒã¹ã±ãŒã¹ã®ãã³ãããŒã¯ã§ããããããéåžžã«åçŽã§ãã å®éã®ã¢ããªã®ãã³ãããŒã¯ã§ãã®ãããªåçãªæ¹åã¯èŠãããŸããã§ããããå šäœçã«ã¯ã¯ããã«æ§ããã§ããã ããŸãããã°ãããã@barisnisanciãä»ã®ã¢ããªã±ãŒã·ã§ã³ã«åœ¹ç«ã€ããšã
æ®ãç«ã®ãã¹ã¿ãŒãã©ã³ãã§äžèšã®ã¬ãããã¹ãããŸããã ããã§ãæåã®ãã€ã³ãïŒïŒ3035.7ããªç§ïŒã¯2.18ïŒ2752.3ããªç§ïŒããã倧ããããã§ã
ãŸããããŸããŸãªæ®ãç«ããŒãžã§ã³ã䜿çšããŠæ¬çªç°å¢ã§ãã¹ãããŸããã ãã¹ã¿ãŒãã©ã³ãã¯ãã¢ããªã®3.12ãããïŒ 25ããïŒ 40é ãããã§ãã 以äžã®çµæã§ã¯ãå€§å¹ ãªãªãã¡ã¯ã¿ãªã³ã°ãªãã§emberãã¢ããã°ã¬ãŒãããããšã¯ã§ããŸããã
@barisnisanciç³ãèš³ãããŸããããããã§ãïŒ ãã®ã¹ã¬ããã§åè¿°ããããã«ãAãåé¡ã確èªããBãå
šäœãšããŠæ¹åãšããè¯ã解決çã«åããŠå埩ã§ããããã«ããã«ã¯ããããã®çµæãçµ±èšçã«é©åãªæ¹æ³ã§åçŸããå¿
èŠããããŸãã ãããã®ãã³ãããŒã¯ãèªåã§å®è¡ã§ããããã«TracerBenchãã¢ããªã±ãŒã·ã§ã³ã«è¿œå ãããã master
åé¡ã瀺ãå¥ã®è€è£œãäœæããããšããå§ãããŸãã
æãåèã«ãªãã³ã¡ã³ã
ããã«ã€ããŠç°¡åãªæŽæ°ããããã£ãã ãã§ãïŒ
ç§ãã¡ã¯ããšèšå®@runspired 1ã«é¡äŒŒTracerBenchãã¹ãèµ°ã£emberobserver.comãããªãããã£ããã©ããã確èªããããã«ç§ãã¡ã®éåžžã®ãã¹ãã¢ããªã±ãŒã·ã§ã³ã®äžã€ã§ãããã«ãšã«æ²žéš°ã®ããŒãžã§ã³ããéèŠã§ã¯ãªãã£ãïŒäŸãã°ãå°ããªããã©ãŒãã³ã¹ã®å€åãçºçããŠããŸããããŒãžã§ã³ã§ãããåèšãããšå€§ããªã·ããã«ãªããŸãïŒã ãã®ãã¹ãã®çµæã¯æ¬¡ã®ãšããã§ãã
ember-observer-2.18-3.18.pdf
ãããã®çµæããã2ã€ã®ããªã決å®çãªãžã£ã³ããããããšãããããŸãã
3.17ã§ã®ãªã°ã¬ãã·ã§ã³ã¯ãGlimmer VMã®ã¢ããã°ã¬ãŒãã«ãããã®ã§ããããã¯ããªãæè¿ã®ãã®ã§ãããLTSãµã€ã¯ã«ã§éããªãæŽæ°ãããã¢ããªã±ãŒã·ã§ã³ã«åœ±é¿ãåãŒãå§ããå¯èœæ§ããããããçŸåšããããæžããããšã«éç¹ã眮ããŠããŸãã
3.1ã§ã®ãªã°ã¬ãã·ã§ã³ã¯ãã³ã¢ããŒã ãšã®è©±ãåãã®çµæãåœæå®éã«ç¥ãããŠããŸããã ããã¯ãäžéšããã€ãã£ãã²ãã¿ãŒãæå¹ã«ãã
Object.defineProperty
ã䜿çšããããšãååäžè¬ã«ããã®åé¡ã®åé ã§æèµ·ããã
{{each}}
ã·ããªãªã¯ãemberobserver.comãããããŸããŸãªæ¹æ³ã§åŸéããããã§ãã 3.17ååž°ãæãäžãããã{{each}}
æé©åã«çŠç¹ãåœãŠãŠãããã§äžè¬çã«äœãæ¹åã§ãããã確èªããŸãããåŸ ã¡ããã ããããããšãããããŸãã