ek ãã
髿šãã
现å·ãã
c-yan ã§ã.
ããã€ããã©ããŒã¢ããã«æ°ä»ããã®ã§.
> ïŒãµãŒãã¹ã¯æ°ã¶æãšãã幎ãªãŒããŒã§èµ°ãç¶ããã®ã§ããã»ã»ã».
> ã ããããã£ãããããã°ããªããšã»ã»ã»ã...^ ^);ã
ãã°ããªããŠãã¡ã¢ãªäžè¶³ã«ãªãããšããããŸã.
ã¡ã¢ãªã®ãã©ã°ã¡ã³ããŒã·ã§ã³ã§ã.
ãªããžã§ã¯ãã®ãµã€ãºã¯äžå®ã§ã¯ãªãã®ã§ã端æ°ã空ããŠãããã©äœ¿ããªãç¶æ
ã«ãªãããšããããŸã.
# HDD ã®ãã©ã°ã¡ã³ããŒã·ã§ã³ã¯ãæ§èœãèœã¡ãã ãã§æžã¿ãŸãããã¡ã¢ãªã¯é£ç¶é åã§ããããšãèŠæ±ãããã®ã§
ããã«ããã¡ã¢ãªäœ¿çšã®ã·ããªãªã«ãã£ãŠã¯ãéæŸæŒãããªããŠãã¡ã¢ãªäžè¶³ã«ãªãããšããããŸã.
GC ã®å Žåã¯ã³ã³ãã¯ã·ã§ã³æ©èœãããã°åæã«è§£æ±ºãããŸã.
çŸå®äžçã®äŸãšããŠã¯
Apache: 察çãšããŠäžå®åæ°ãªã¯ãšã¹ããåãããããã»ã¹ã朰ããŠæ°ããã®ãç«ãŠã
ãªã©ããããŸã.
ãããã£ããã¡ã¢ãªäœ¿çšã®ã·ããªãªã«ãã£ãŠã¯ããã°ã©ã ã®æ¬è³ªãšã¯é¢ä¿ãªãããšãããªããšãããªããªãããšããããŸã.
ä»ã®äŸãšããŠã¯ Firefox ãé·æé䜿ãç¶ãããšã¡ã¢ãªã®äœ¿çšéãå¢ããŠãããªã©ãããã§ã.
Chrome ã¯ã¿ããããã»ã¹ã«çŽä»ããŠãã¿ããéãããã³ã«OSã«ååãããŠé²ãã§ããŸãããCPU䜿çšéãšã¡ã¢ãªäœ¿çšéããã¬ãŒããªãã§å€§ãããªã£ãŠããŸã.
Firefox ã¯åæã«100ã¿ãéãã®ãäœè£ã§ãããChrome ã§ã¯å³ããã§ã.
# äœè«ã§ãããFirefox ã¯é·æéç«ã¡äžããŠãããšã¡ã¢ãªäžè¶³ã§ã¯ã©ãã·ã¥ããéåœã«ããããããã¯ã©ãã·ã¥ããŠãåé¡ãªãç¶ç¶ã§ããããã«ãªã£ãŠãŠã
# ããŸãã¯ã©ãã·ã¥ãæ°ã«ãªããªããšããã¬ãã«ã«ãªã£ãŠããŸããŸãã(^^;
# ããMS-Office ãå²ãšããã ãª
髿§èœãªã¡ã¢ãªã¢ãã±ãŒã¿ã¯ãã©ã°ã¡ã³ããŒã·ã§ã³ãèµ·ãã«ãããªã£ãŠããŸãã
å®å
šã§ã¯åœç¶ãªã (Firefox 㯠jemalloc 䜿ã£ãŠããã©ãã®éãã§ã)
ãã©ã°ã¡ã³ããŒã·ã§ã³ãèµ·ãã«ãã代ããã«ãæåãã端æ°ãæšãŠãŠããã£ãŠãããªã©ã®ãªãŒããŒãããããããŸã.
ãŸããã¢ãã±ãŒã·ã§ã³ããã¢ãã±ãŒã·ã§ã³ãéããªã£ãŠãã(éæŸã«ãã£ãŠé£çµã§ãããšãããåºæ¥ããé£çµãããªã©ã®åŠçãšã)
ããŒã¿ã«ã®ã¢ãã±ãŒã·ã§ã³ã»ãã¢ãã±ãŒã·ã§ã³ã³ã¹ããGCã䜿ã£ãã»ããå°ãªãã·ããªãªããããŸã. (GC ç°å¢äžã§ã®ã¢ãã±ãŒã·ã§ã³ã¯è»œã)
ããã¯ã³ã³ã«ã¬ã³ãGCç°å¢äžã§ã¯æŽã«çºçããããã§ã.
ã³ã³ã«ã¬ã³ãGC: ã¢ããªã±ãŒã·ã§ã³ãèµ°ããã€ã€ã䞊è¡ã§GCããã. åœç¶åæ¢æéã¯çã. ç·CPUã³ã¹ãã¯äžããããCPUãããã¯ã§ãªããã°å®å®è¡æéã¯åçã«æ¹åããã. æè¿ã®å€ã³ã¢ç°å¢ã§ã¯ããªãæå¹
å¥ã®è©±é¡ãšããŠã¡ã¢ãªããã©ã°ã¡ã³ããŒã·ã§ã³ããªãã®ã§ãCPU ã®ãã£ãã·ã¥ã®å©çšå¹çãäžãã£ãŠãé床ãäžããããšãããããã§ã.
æŽã«å¥ã®è©±é¡ãšããŠãOS ããååŸããã¡ã¢ãªãããã¯(ãã£ã³ã¯)ã«ãªããžã§ã¯ããäžåã ãæ®ã£ãŠè¿åŽã§ããªãã±ãŒã¹ã§ã¯ãGC ã®å Žåã³ã³ãã¯ã·ã§ã³ã§ç§»åããŠè¿åŽã§ããããã«ãªãã®ã§ã
ã¡ã¢ãªäœ¿çšéãæžãããšãããããã§ã. (Firefox ã¯ããã«ããã¡ã¢ãªäœ¿çšéãå€ã)
> ããããWebã·ã¹ãã ã¯ããªã¢ã«ã¿ã€ã æ§ãé«ããã®ã§ããWebã·ã¹ãã ãæžãéã« Java ãéžã¶ã®ããããããèšãããŠãããããªæ°ãã»ã»ã»ã
äžçã§äžçªã¢ã¯ã»ã¹ãå€ã Twitter ã Ruby/Java ã§ãFacebook ã PHP ãªããã§ãWeb ã·ã¹ãã ããªã¢ã«æ§ãé«ããšããã®ããããããããããªæå³ã§ãããããããª.
ãããããWeb ã¢ããªã±ãŒã·ã§ã³ã§ãéGCèšèªã£ãŠ0.1%ãããªããããŸãã?
åæãããããããã§çµè«ãããããã§ããããæããã«.
ããšãWeb ã¢ããªã¯ Web å±€ã¯ã¹ã±ãŒã«ã¢ãŠãã§æ§èœã皌ããã®ã§ãã ãããããã«ããã¯ã¯ããŒã¿å±€ã§ã.
DB ã¯Cèšèªã§ããããŠãŠGC䜿ã£ãŠãªãããŒ.
ãã® DB ã®ããã«ããã¯ã¯ãããŠã IO ã§ãCPU ã§ãã¡ã¢ãªã§ããªãããŒ.
SSD ã Web ã¢ããªã®æ§èœãã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ããŸãã£ãŠãããšãã®äžãªãæšä»ã§ã.
> éåžžã«å€§ããã¡ã¢ãªãããã¯ãæåã«ç¢ºä¿ãããã®äžã§ç¬èªã®ã¢ã«ãŽãªãºã ã§ã¡ã¢ãªã®å²ãåœãŠãè¡ããŸãã
GC ã¯æ°èŠå²ãåœãŠæã«ã¡ã¢ãªäžè¶³ãããªããšæ®éã¯èµ°ããªã (Firefox ã¿ããã«äŸå€ããããŸã)ã®ã§ããããããã° GC ç°å¢äžã§ãåãã§ã.
ãããŠãã®GCä»ãèšèªã¯çã§ã¡ã¢ãªãè§Šãã®ãããã©ããããã§ãåªäœæ§ã¯ã±ãŒã¹ãã€ã±ãŒã¹ã§ãã.
ãŸããC# ã®å Žå㯠large object ã¯ç¹å¥æ±ããããŠå¹ççã§ããããã³ã§æ¢ããŠããŸãã°GC察象å€ã«ãªããŸã.
ããš C# ã¯æ®éã« HeapAlloc åŒã¹ãã®ã§ GC 察象å€ã®ã¡ã¢ãªç¢ºä¿ã¯å®¹æã§ããããã€ã³ã¿äœ¿ããŸã. (C# çã«ã¯è¡åæªãæ±ãã«ãªããŸãã)
Dèšèªã¿ãããªãã€ããªããèšèªã ãšãæåããGC察象å€ã®ã¡ã¢ãªç¢ºä¿ãåºæ¥ããGCæ¢ãããã§ããŸã.(éœåããããã¯ã¹ã§ãã)
> æè¿ã¯GCã®é«éåãããªãå®çŸããŠããããã§ããããªã¢ã«ã¿ã€ã æ§ã®é«ãã·ã¹ãã ãJavaã§æžãæã¯GCã®ãªãŒããŒãããã«ãããžãæ°ã䜿ãå¿
èŠãããã粟ç¥è¡çã«ãããªãã®ã§ã¯ãªãã§ããããã
ã²ãŒã ã«çµã¿èŸŒãŸããGCä»ãèšèªã¯åç
§ã«ãŠã³ããã€ã³ã¯ãªã¡ã³ã¿ã«GCãã€ããŠããããšãå€ãã§ã.
ããŒãºçãã§ã.
ã€ã³ã¯ãªã¡ã³ã¿ã«GC: å¿
èŠãªã¡ã¢ãªã確ä¿ãããé©åœãªãšããã§æã¡åã. 忢æéã¯åœç¶çããªã.
> ãšããããšã§ãç§ã¯äžéãGCãGCãšéšãã®ãæããçè§£ã§ããªãã®ã§ãããçããã¯ã©ããèãã§ããã
ãšãGC ãããããé²åããŠãŠãããããªã±ãŒã¹ã OK ã«ãªã£ãããåªäœã«ãªã£ãŠãããããã®ã§ããã
ããããããšãç¥ããªããŸãŸäœ¿ããªãããšãè¯å®ããããã«éšã人ãå°ãªããªãã»ã»ã».
ãŸããã£ã¡ã䜿ã£ãŠããèªããŸããã.
ã¢ã»ã³ããªèšèªã®æ¹ãæ§èœéçãåºãããã©ãCèšèªã®æ¹ãçç£æ§ãããããã
åãæéããããã®ã§ããã°ãCèšèªã®æ¹ãæ§èœãåºããšããçŸå®ãšåãããã«ã
éGCèšèªã®æ¹ãæ§èœéçãåºãããã©ãGCä»ãèšèªã®æ¹ãçç£æ§ãããããã
åãæéããããã®ã§ããã°ãGCä»ãèšèªã®æ¹ãæ§èœãåºããšããçŸå®ã ãšæã£ãŠããŸã. (äžéšé åã®ã¢ããªã±ãŒã·ã§ã³ãé€ã)
ãŸããCPU ãã¡ã¢ãªãéå°æ°å³ã§ãIO ãæ§èœã決ããããšãå€ããªã£ãŠããã
GC ãããããæ°ã«ãªãããšèªäœã»ãšãã©ãªãã?ã£ãŠæãã§ã.
ã¿ãªããæ¯æ¥ JavaScript ã® GC ã«ã€ã©ã€ã©ããŠãŸã?
> Android ã¯ïŒããããPCãšæ¯ã¹ïŒè²§åŒ±ãªããŒãã§ãã
Android ã¯çããå®éã«æ®å¿µãªäŸã§ã貧匱ãªããŒãã« Google ãæ°ãã«å®è£
ããããã§æ¯ããŠãªããžã£ãœã㪠VM ãšãã
äºéèŠã ã£ãã®ã§ããã»ã»ã»æè¿ã¯ PC ã®1/4ãããã®æ§èœã®CPUã«ããããŸãå€ãããªãéã®ã¡ã¢ãªã«ãªã£ãŠããŸã
æ£çŽãªãšããç©éã§è§£æ±ºãããŠããŸãã®ã¯æéã®åé¡ãªæ°ãããŸã.
å®éã« Windows 95 åºããŠã®ããã® Java ãšãå®çšæ§ã®æ¬ çããªãã£ããªããš.
æŽå²ã¯ç¹°ãè¿ã.
äœè«:
GC ã®ããŒãºæéãæ±ºããã®ã¯ãã¡ã¢ãªäœ¿çšéãªããã§ãã
(ã¡ã¢ãªäœ¿çšéãåã ãšåãšããããã§ã¯ãªããåç
§ã°ã©ããããã®ã§ O(nlogn) ã ãšæããã)
éã«èšãã°ãè€æ°ã®ããã»ã¹ã«åããŠããŸãã°çããªããŸã.
æ¬è³ªã§ã¯ãªãããšãããã®ã¯ãšèšã£ãŠãããŠããã®ãããšããåãããããããããŸãããã
Web ã¢ããªã±ãŒã·ã§ã³æ¹é¢ã«çœ®ãããŸããŠã¯ãæè¿ã¯èšå®ã ãã§åæã«ãããªãããã©ããã®èª°ããå®è£
ããŠãããŠãããããããšãå€ãã§ã.
以äžã§ã.
ã¡ã³ããŒã§äœ¿ããæ²ç€ºæ¿ã掻çšãããïŒ
http://ad.freeml.com/cgi-bin/sa.cgi?id=j1D3I
------------------------------------------------------[freeml byGMO]--