ã¾ã¤ã‚‚㨠ゆãã²ã‚ã§ã™
Tim B.ã®Wide Finder Projectã§Rubyã®çµæžœãŒå¦™ã«ä½Žã„[1]ã®ã§è‡ª
分ã§ã‚‚試ã—ã¦ã¿ã¾ã—ãŸã€‚
[1] ongoing by Tim Bray · WF XI: Results
ã§ã€ç§ãŒæ›¸ã„ãŸã®ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªãƒ—ãƒã‚°ãƒ©ãƒ ã§ã™ã€‚
添付1 wf1.rb シングルプãƒã‚»ã‚¹ç‰ˆ
添付2 wf2.rb マルãƒãƒ—ãƒã‚»ã‚¹ç‰ˆ
é©å½“ã«ä¹±æ•°ã§ç”Ÿæˆã—ãŸãƒ‡ãƒ¼ã‚¿ãƒ•ã‚¡ã‚¤ãƒ«ã‚’対象ã«å®Ÿè¡Œã—ã¦ã¿ã¾ã—ãŸãŒã€
Pythonより速ã„ã€ã¨ã¯è¨€ã„ã¾ã›ã‚“ãŒã€å°‘ãªãã¨ã‚‚何åå€ã‚‚é…ã„ã¨ã„
ã†ã“ã¨ã¯ãªã•ãã†ã§ã™ã€‚マルãƒãƒ—ãƒã‚»ã‚¹ç‰ˆã¯CPUæ•°ã«åˆã‚ã›ã¦å¤‰æ•°j
ã®å€¤ã‚’変更ã—ã¦ãã ã•ã„。ç§ã®ãƒžã‚·ãƒ³ã¯ãƒ‡ãƒ¥ã‚¢ãƒ«ã‚³ã‚¢ã ã£ãŸã®ã§ã€
一番æˆç¸¾ãŒè‰¯ã‹ã£ãŸã®ã¯j=2ã®æ™‚ã§ã—ãŸã€‚
プãƒãƒ•ã‚¡ã‚¤ãƒ«ã‚’å–ã£ãŸã‚‰ç„¡é§„ãŒè¦‹ã¤ã‹ã£ãŸã®ã§ã€ã•ãã»ã©trunkã«
ãƒã‚§ãƒƒã‚¯ã‚¤ãƒ³ã—ã¦ãŠãã¾ã—ãŸã€‚
ã‚ã¨ã€æ°—ãŒã¤ã„ãŸã®ã¯vm_yield_setup_argsã§æ¯Žå›žrb_ary_new4()ã§
é…列を作ã£ã¦ã„ã‚‹ã“ã¨ã§ã™ã€‚yieldã®ãŸã³ã«ä½œã‚‹ã“ã®é…列ãŒã‘ã£ã“ã†
GCã«è² æ‹…ã«ãªã£ã¦ã„るよã†ã§ã™ã€‚ã“ã®è¾ºã®ä»•çµ„ã¿ã¯ã‚ˆãã‚ã‹ã‚‰ãªã„
ã®ã§ã™ãŒã€ã“ã®é…列ã®å‰²ã‚Šå½“ã¦ã‚’減らã›ã‚‹ã¨ãƒ–ãƒãƒƒã‚¯ã®å®Ÿè¡ŒåŠ¹çŽ‡ãŒ
ã ã„ã¶æ”¹å–„ã§ããã†ã§ã™ã€‚