2007年03月28日 星期三 13:05
http://blog.csdn.net/pjeby/archive/2007/03/27/1543285.aspx Ðí¶àÄêÒÔÀ´£¬ÈËÃÇÆÚÍûÌá¸ß³ÌÐòµÄÐÔÄÜ£¬³¢ÊÔ×ÅΪPython´´½¨¿ÉÑ¡µÄÐéÄâ»ú£¨alternative VM £©£¬È»¶øÎÞÊý´ÎÕâÑùµÄŬÁ¦¶¼Ê§°ÜÁË¡£¼´Ê¹ÎÒÃǶÔÄÇЩÓÌÈçÒ»Ö»°ëËÀ²»»îµÄ¡¢ÐÅ·îÎ×ÊõµÄ²¿¶ÓÒ»ÑùÈÔõçõÇÇ°ÐÐ×ŵÄÖ»Íê³ÉÒ»°ëµÄPython-to-Parrot ·ÒëÏîÄ¿ÊÓ¶ø²»¼û£¬¶øÀàËÆMamba, RattlesnakeºÍ VyperÕâЩ¼´½«±»ÒÅÍü¡¢ÓÐ׏âÏÊÃû×ÖµÄÏîÄ¿ÈÔ³ÉΪÁËÒ»¸ö¸ö¼ÍÄî±®£¬´£Á¢ÔÚ×·Çó¸üºÃVM ÐÔÄܵĵÀ·Á½ÅÔ¡£ ͬʱ£¬ÏñpycoreºÍShedSkinÒ»ÀàнüµÄÏîÄ¿ÈÔÒÔÀàËÆÓÚËûÃÇÇ°±²µÄ³äÂúÏ£ÍûºÍÀÖ¹ÛµÄ̬¶È²»¶ÏµØ½øÐÐ×Å·¢²¼¡££¨´ó¸ÅÒ»ÄêÇ°ÔÚBlogȦÀï·¢²¼µÃÈÈÈÈÄÖÄÖµÄ pycoreÖÁ½ñÈÔδÓÐÒ»¸ö¶ÀÁ¢µÄ·¢Ðа汾³öÏÖ£¬ÇÒδ¼ûÈκζ¯×÷£© ËƺõÈÃPythonÔËÐÐËٶȿìһЩҪ±ÈËü¿´ÆðÀ´»¹Òª¼èÄÑ¡£ÔÚ¿¼ÂÇCPythonʵÏÖµÄʱºòÄãû±ØÒª³ÉΪһ¸ö±àÒëÆ÷»òÕßVMÉè¼Æר¼Ò²¢ËµÊ²Ã´"Ö´ÐÐX Ì«ÀË·ÑÁË£¬ÎÒ´ò¶ÄÄãÖ´ÐÐYËٶȻá¸ü¿ìЩ¡£"ÎÊÌâÊÇÕâЩÈËÊ®Óа˾ÅÒѾÊÔ¹ýÖ´ÐÐYÁ˲¢ÇÒÔÚËûÃÇײÉÏÄÏǽ֮ǰҲÐíÒѾÀûÓÃËûÃǵÄÉè¼ÆÈÃ80%µÄPythonÅÜÆðÀ´ÁË¡£ ÄǵÀÄÏǽʵ¼ÊÉÏÖ÷Òª¾ÍÊÇ£º80%Python²»ÊÇPython£¬ÒòΪ´ó¼Ò¶¼Ê¹ÓÃÊ£Óà20%µÄijЩ²¿·Ö¡£ShedSkin ÈÔδÂäÈëÓëÆäËûÏîĿһͬÃðÍöµÄ¾³µØµÄΨһÔÒò¾ÍÊÇ£¬ËûÇÉÃîµØ»Ø±ÜÁËÕâ¸öÎÊÌ⣬²¢ÇÒ²»ÊÇͨ¹ý×ÔÃü¾ö²»ÊÇÒ»ÖÖ"ÀàPython£¨Python-like £©"ÓïÑÔ¶ø×öµ½µÄ¡£È»¶ø£¬Õâ¾ÍÓÐÓеãÏñMonty PythonºÍThe Holy Grail µÄºÚÉ«ÆïÊ¿£¬¼á³Ö˵ËûµÄȱ¸ì±Û¶ÌÍÈ"Ö»ÊÇƤÍâÉË"¡£»»¾ä»°ËµÈ·ÊµÈç´Ë£¬µ«Ò²Ã»ÓÐÌ«´óÒâÒå¡£ ÁíÒ»·½Ã棬ÎÒÃÇ×¢Òâµ½¿ÉÑ¡µÄVMsʵ¼ÊÉÏʵÏÖÁËPythonÓïÑÔ£¬µ«²¢Î´£¨Ôںܴó³Ì¶ÈÉÏÀ´Ëµ£©ÊÔͼÔÚËÙ¶ÈÉϳ¬¹ýCPython¡£JythonºÍ IronPythonʵ¼ÊÉϺÏÀíµØʵÏÖÁËPythonÓïÑÔµÄÈ«²¿ÐÎʽ£¨complete forms £©£¬µ«ÊÇ´Óʵ¼ÊµÄ½Ç¶ÈÀ´ËµËüÃÇÊDz»Í¬µÄƽ̨¡£ÊÔͼÒÔÈÃÒ»¸öÓ¦ÓóÌÐòÄܹ»ÔÚCPython, Jython,ºÍIronPython ÉÏÃ涼ÅÜÆðÀ´ÎªÄ¿±êÊǺÁÎÞÒâÒåµÄ£¬ËùÒÔ£¬ÔÚÈκÎÇé¿öÏÂÖ»Óд¿Python¿âÔÚʵÏÖµÄʱºò²ÅÊÇ¿ÉÒÆÖ²µÄ¡£ µ«ÊÇ£¬ÕýÊÇ*·Ç´¿´â*µÄPython¿â¸³ÓèÁË(C/J/Iron)Pythonµ±Ç°¾ø´ó²¿·ÖµÄ¼ÛÖµ£¡¶ÔÓÚÊý¾Ý¿â·ÃÎÊ£¬Êý×Öµ·Åª£¨number crunching £¬ÒëÕß×¢£º(Ö¸µçÄÔ)ѸËÙ½øÐдóÁ¿¸´ÔÓÔËË㣩£¬GUI¹¤¾ßµÄ½Ó¿Ú»òÆäËûÈκÎÊýÒÔǧ¼ÆµÄÓÃ;£¬ÊÇC, Java»òCLRµÄ¿âÈÃPython±äµÃʵÓÃÁË¡£ CPythonÖ÷ÒªÊÇÒ»ÖÖÕ³ºÏÓïÑÔ£¨glue language£©£¬ÓÃÓÚ»ã±àÀ´×ÔÓÚC¿âµÄ³ÌÐò¡£¶øJythonºÍIronPython ´ÓijÖ̶ֳÈÉÏÀ´ËµÊdzɹ¦µÄ£¬ÒòΪËûÃÇÊÇÓÃÓÚ»ã±àJava»òCLR×é¼þµÄÕ³ºÏÓïÑÔ¡£¶øÇÒÓÉÓÚËûÃǵļÛÖµÒòËØÈ¡¾öÓڱ𴦣¬Jython,ºÍIronPython ÎÞÐèÍêȫʵÏÖCPythonµÄÓïÒ壬¾¡¹ÜËûÃÇÔÚÊÔͼ×ߵýüһЩ¡£ ËäÈ»×ܵÄÀ´¿´ÎÒ»á˵IronPython³ÌÐòµÄÐÔÄÜÊÇ·ñ¸üºÃÈÔ´æÔÚÕùÒ飬IronPythonʵ¼ÊÉÏÔÚһЩPython³ÌÐòÐÔÄÜ΢ÐÍ»ù×¼£¨Python performance microbenchmarks£©ÉÏÍê³ÉÁ˸Ľø¡£µ±È»£¬ºÜºÃµÄ¶ÈÁ¿Õâ¸öÈÔÊÇÀ§Äѵģ¬ÒòΪIronPython ÊDz»Í¬µÄƽ̨¡£ÀýÈ磬һ¸öʹÓÃNumPyµÄ´óÅúÁ¿Êý×Öµ·Åª³ÌÐò½«²»»áÔÚIronPythonÉÏÔËÐУ¬ËùÒÔÄãÈçºÎÀ´±È½ÏËüÃÇÄØ£¿ Õâ°ÑÎÒÃÇÒýÏòÁËCPython×îºËÐĵÄÎÊÌâ¡£Èç¹ûCPythonµÄ¼ÛÖµÔÚÓÚ½ñÌì¿ÉÒÔʹÓÃËüÍê³ÉËùÓй¤×÷£¬ÄÇôCPython ¾ÍÒª¿ìµ½Ìá¸ßÐÔÄܵľ¡Í·ÁË¡£ÏÖÔÚ£¬´ó¶àÊýÔöÇ¿ÐÔÄܵÄÌáÒ鶼±»¾Ü¾øÁË£¬ÔÒò¾ÍÊÇËûÃÇÒÔÏòºó²»¼æÈÝ£¨back-incompatible£©µÄ·½Ê½¸Ä±äÁËPyrhon CµÄAPI¡£Èç¹ûÒ»¸ö±ä»¯ÐèҪÿ¸öÈ˶¼ÖØдËûÃǵÄC´úÂ룬Õâ¸öÓïÑÔ×îºÃ²»ÒªÔÙÊÇPythonÁË¡£¼ò¶øÑÔÖ®£¬CPython²¢²»ÊÇÒ»¸öÓïÑÔʵÏÖ£¬ÓëJava VM ºÍ¿â²»Í¬µÄÊÇ£¬ËüÊÇÒ»¸öAPIƽ̨£¬¡£ ÎÒÃdz£³£¼ÄÏ£ÍûÓÚPython3000 -- Guido¶ÔPython¾¹ý³¹µ×˼¿¼µÄ´óµ¨ÏëÏó£¬ÎÞÐ迼ÂÇÏòºó¼æÈÝ¡£ÕâÀïÎÒÃÇ¿ÉÒÔ¸æ±ðC API µÄ¹ýÈ¥£¬Ì½Ë÷еÄÁìÓò¡ªÎÒÃÇ´óÌåÊÇÕâÑùÉèÏëµÄ¡£ È»¶ø¾ÍÔÚ×î½ü£¬GuidoÊÕ»ØÁËԼƻ®£¬Àý¾ÙÁ˽øÐÐÖеÄPerl 6µÄÎí¼þÇé¿öºÍJoel Spolsky Õë¶ÔÖØдÆì½¢²úÆ·µÄÒéÂÛ£¨ÒëÕß×¢£ºÎí¼þÖ¸¿ª·¢Íê³ÉÇ°¾Í¿ªÊ¼×÷Ðû´«µÄ²úÆ·£©¡£È¡¶ø´úÖ®µÄÊÇPython 3000±ä³ÉÁËPython3.0 ¡£Õâ²¢²»ÊÇÒ»´ÎÍêÈ«µÄÖØд£¬¶øÈÔÊÇÒ»¸ö¶ÔÏÖÓÐÓïÑÔ½øÐе÷ÕûµÄ±È½ÏÄ£ºýµÄ¼Æ»®£¬ÞðÆúÁËһЩGuido¹ýÈ¥ÈÏΪÊÇ´íÎóµÄ¶«Î÷¡£¾¡¹Ü½«ÔÊÐíÏòºó²»¼æÈÝ£¬µ«Guido ÈÔÐû³ÆCPythonµÄʵÏÖ½«²»»á´ÓÍ·¿ªÊ¼ÖØд¡£ÒÀ¾É²»Çå³þµÄÊÇÕâÊÇ·ñÒâζ×ÅÎÒÃÇ¿ÉÒÔͨ¹ý±»ÖØдµÄµÚÈý·½À©Õ¹µÄ·½Ê½À´½øÐÐÖع¹¡£Ò²Ðí£¬Õ⽫ȡ¾öÓÚ¾ßÌå¸ö°¸ÁË µ«ÊÇ£¬ÕýÈç¿ÉÌá³öÖ¤¾Ý¼ÓÒÔÖ¤Ã÷µÄÄÇÑù£¬½ñÌì¶ÔÓÚCPythonƽ̨´æÔÚµÄÒ»¸ö×î´óµÄÎÊÌâ¾ÍÊÇȱÉÙÓÉÓïÑÔºÍPython´úÂë¿É±í´ïÐÔ¶¨ÒåµÄÒ»¸öÍⲿº¯Êý£¨foreign function£©½Ó¿Ú¡£È¡¶ø´úÖ®µÄÊÇCPython×ÜÊÇÒÀ¿¿Ò»¸ö¹Ì¶¨µÄC APIÀ´±í´ïÍⲿ½Ó¿Ú¡£´Ó×î³õµÄÏë·¨³ö·¢¡ª¼´Ò»¸öAmoeba ²Ù×÷ϵͳµÄǶÈëʽ½Å±¾ÓïÑÔ--ÄÇÊÇûʲôÎÊÌâµÄ¡£µ«ÊÇ£¬È±ÉÙC FFI¾ÍÒâζ×ÅÏñSWIG, Pyrex, ctypes, Boost::Python µÈµÈÕâÑùµÄ¹¤¾ßµÃ²»µÃ²»³öÀ´ÃÖ²¹Õâ¸öȱÏÝ£¬¿ÉÊÇËûÃǶÔÓÚPythonÀ´ËµÃ»ÓÐÒ»¸öÊÇ"±ê×¼"¡£ËùÒÔÒ»¸ö¸ø¶¨µÄCPython À©Õ¹²¿·Ö¿ÉÒÔÓÃËüÃÇÖеÄÈκÎÒ»¸ö»òÕß²»ÓÃËüÃÇÀ´Ð´¡£Òò´Ë£¬½ñÌì±ã³ÉÁËÏòºó¼æÈÝÐÔµÄÍÏÀÛ(ball-and-chain)£ºPython/C API¡£ ÁíÍ⣬ÕâЩ¹¤¾ßÖкÜÉÙÓб»Éè¼Æ³É¶ÀÁ¢ÓÚÏÖÓÐCPythonʵÏֵġ£³ýÁËctypesËüÃǶ¼ÓпÉÖ¸¶¨Ò»¸öÉú³É´úÂëµÄÄ¿±êµÄ¹¦ÄÜ¡£µ«ÊÇ£¬PythonÓïÑÔ¶¨ÒåµÄFFI ½«ÔÊÐíCPython API³ÉΪ´¿´âʵÏÖµÄϸ½Ú£¬Äܹ»ËæÒ»µãµã½áÂÛ¶ø¸Ä±ä¡£Êµ¼ÊÉÏ£¬ÕâÑùÒ»¸öFFI¾ßÓиü´óµÄ¿ÉÒÆÖ²ÐÔ£¬¼´Ê¹¶ÔÓÚJythonºÍIronPython Ò²ÊÇ¿ÉÓõġ£ È»¶ø£¬ÏÖÔÚÒª°ÑËùÓÐÄÇЩ¶¼½â¾öΪʱÒÑÍí£¬ÒÖ»ò¹ûÕæÈç´Ë£¿ ×ß½øPyPy¡£Á½¸öÔÂÇ°£¬PyPy0.7·¢²¼ÁË¡£Ò»¸öÖØÒªµÄÀï³Ì±®£¬PyPy0.7ÊǵÚÒ»¸ö×Ô×ãÖ´ÐÐ(self-hosting)µÄPythonʵÏÖ¡£ËüÊÇÒ»¸ö PythonµÄʵÏÖ£¬ÓÃPythonдµÄ£¬²¢¿ÉÒÔ×ÔÐнâÊÍ¡£ÁíÍ⣬²¿·ÖPyPyÊÇÒ»¸ö·Òëϵͳ£¬ËüÔÊÐí½«Python ´úÂë·Òë³ÉÆäËûÓïÑÔ£¬²¢ÇÒ°üº¬Ò»ÖÖÍâÁªº¯Êý½Ó¿Ú£¬ËäÈ»ÍÐGuidoµÄ¸£ÈÔδ±»±ê×¼»¯¡£PyPy¿ª·¢ÈËÔ±ÏÖÔÚÒѾÍê³ÉÁ˳ýÁË×÷Ϊ¸ß¼¶Python´úÂëµÄC ƽ̨ÌØÐÔµÄ×îС»¯Ö®ÍâÖØдµÄ¹¤×÷¡£¼ò¶øÑÔÖ®£¬¶ÔÓÚÎÒÃÇÀ´ËµPyPyÒѾÍÑÀëCPythonÐèÒªÏòºó¼æÈÝC APIµÄ"ÒýÁ¦¾®"²¢ÔÚÕâÒ»·½ÃæÓÖÂõ³öÁËÖØÒªµÄÒ»²½¡£ Ôõôǿµ÷ËüµÄÖØÒªÐÔÒ²²»Îª¹ý¡£µ±Ç°µÄCPythonʵÏÖÊÜÀ§ÓÚÐí¶àÉè¼Æ¾ö²ß£¬¶ø¶ÔÓÚPyPy²»´æÔÚÕâ¸öÎÊÌâ¡£¾Ù¸ö¼òµ¥µÄÀý×Ó£¬PyPy ¿ÉÒÔÉú³É±¾ÉíÖ§³ÖÏ̺߳Ͳ»Ö§³ÖÏ̵߳İ汾£¬±¾ÉíµÄrefcountingºÍÀ¬»ø»ØÊյİ汾µÈµÈ¡£±¾ÖÊÉϽ²£¬PyPy¹ØÓڵײãVMÊǺÜʵ¼ÊµÄ£¬¼´Ê¹ËüʹÓÃÊÇ CPythonµÄ×Ö½ÚÂ루bytecode£©¡£ËùÒÔ£¬ÔÚδÀ´¼¸ÄêÀVM½«ÓпÉÄÜÔÚ¸ù±¾ÉϽøÐÐÖØÐÂÉè¼ÆµÄÊÔÑ飬¶ø²»»áÏñ¹ýÈ¥µÄÏîÄ¿Ò»ÑùÔÚ"×îºó20% µÄÎÊÌâ"ÉÏÏÝÈëÁËÀ§¾³¡£°¥Ñ½£¬Ó¦¸ÃºÜ¿ÉÄÜÔÚÿ¸öÓ¦ÓóÌÐò»ù´¡É϶¼¿ÉÒÔʹÓö¨ÖƵÄVMs£¡ ÁíÍ⣬ÓÉÓÚPyPyÊÇÓÃPythonʵÏֵģ¬ÔÚËüÉÏÃæ½øÐбà³ÌÀ´¸Ä±äÄ¿Ç°µÄPythonÓïÑÔ»òÕßÆäÓïÒ彫±ÈÔÚCPython ÉÏÃæ±à¼òµ¥¶àÁË¡£¼ò¶øÑÔÖ®£¬ÎÒÃǼ¸ºõÊÇ´¦ÓÚPythonÓïÑÔ·¢Õ¹µÄÈëÃŽ׶Σ¬²¢ÇÒÕýÔÚÔ¶Àë¿ÉѡʵÏÖ£¨alternative-implementation £©ÕâÌõ·¡£ µ«ÊÇËÙ¶ÈÔõôÑù£¿PyPyÄ¿Ç°ÃèÊöΪ±ÈCPythonÒªÂý200-300±¶£¬ÕâÈ¡¾öÓÚÄãÕýÔÚ×öʲôºÍÄ㽫Ëü·Òë³ÉʲôÑùµÄVM ¡£ÕâÌýÆðÀ´ºÜÔã¸â£¬Ö±µ½Äã¿´µ½ÕâÑùÒ»¸öÊÂʵ£ºÔÚCPythonÉÏÃæÔËÐеġ¢*δ¾·Òë*µÄPyPy£¬ÔÚÔËÐеÄʱºòÒª*Âý**2000**±¶¡£*Õâ¾ÍÒâζ×Å-- Èç¹ûÄã×¢Òâµ½--PyPyÒѾÄܹ»½«Python´úÂëת»»³ÉÔËÐÐÒª¿ì10±¶µÄC´úÂ룡 ÄÇÊÇÒ»ÏîºÜ´óµÄ¸Ä½ø¡£Ó¦µ±³ÐÈÏ£¬´æÔÚÎÊÌâµÄ´úÂë´Ó¼¼ÊõÉϽ²ÊÇ"RPython"¡£ÕâÊÇÒ»¸öPythonÓÐÏÞ×Ó¼¯£¬Æä²»°üº¬¸ü¼Ó¶¯Ì¬£¨ more-dynamic£©µÄÌØÐÔ¡£µ«ÊÇ£¬ËûÎÞÐëͨ¹ýÀàÐÍÉùÃ÷À´Ìá¸ßËٶȣ¬¾ÍÏñPyrexÒ»Ñù¡£²¢ÇÒÈç¹ûStacklessµÄÁìµ¼ÈËChristian TismerÄܹ»ÔÚÔìÒ»¸öRPython-to-CPythonÀ©Õ¹Ä£¿é·ÒëÆ÷<http://www.mail-archive.com/pypy-dev@codespeak.net/msg01164.html> µÄ·ÉϼÌÐø×ßÏÂÈ¥£¬ÄÇôÕâÖÖ¼¼ÊõºÜ¿ì¾Í¿ÉÒÔÓ¦Óõ½Êµ¼ÊÖÐÈ¥¡£ ËùÒÔ£¬Èç¹ûÓпÉÄÜ´ÓPythonµÄ×Ó¼¯Öд´½¨Ò»¸ö¸ßЧµÄC£¬ÄÇÊDz»ÊÇÒâζ×ÅPyPy ¾ÍÍê½áÁËÄØ£¿ÎÒÃÇÄѵÀ¾Í²»ÄÜÖ´ÐÐÄǸö·Òë¹ý³Ì²¢ÑØ×ÅÕâÌõ·×ßÏÂÈ¥Â𣿺ܲ»ÐÒ£¬´ð°¸ÊÇ·ñ¶¨µÄ¡£µ±È»£¬ËäÈ»ÎÒÃÇ¿ÉÒÔ½«ÄÇЩËٶȿìµÄÄ£¿é·Å»Øµ½CPython ƽ̨£¬·Òë¹ý³ÌÈÔ¾ÉÊ®·Ö»ºÂý£¬»¹ÐèÒª½«Æä±¾Éí½øÐмÓËÙ¡£Í¬ÑùµØ£¬ÕâÒ²ÈÔûÓÐʹCPythonÕæÕýµØ¿ìÆðÀ´¡ª Õâ¼ÈÊÇÒâζ×ÅÎÒÃÇ¿ÉÒÔÏȱàÒëһЩ¶ÀÁ¢µÄÄ£¿éÒÔʹËûÃÇÔËÐÐËٶȸü¿ìһЩ¡£ Òò¶øΪÁËʵÏÖËù³ÐŵµÄÄ¿±ê£¬PyPy±ØÐëÊ×ÏȽӽüCPythonµÄËÙ¶È<http://www.mail-archive.com/pypy-dev@codespeak.net/msg01172.html> ¡£Ö»Óе±ËüÔ½À´Ô½½Ó½üÕâ¸öÄ¿±êµÄʱºò£¬Ô½À´Ô½¶à±§Óмӿì³ÌÐòËÙ¶ÈÏë·¨µÄÈËÃǾͽ«»á¶Ô×Ô¼ºËµ£º"ÎÒÏëÖªµÀÊÇ·ñ¿ÉÒÔÈÃPyPyÖ´ÐÐY¶ø²»ÊÇX£¿"²¢ÇÒÓëÏÖÔÚ CPython×´¿ö²»Í¬µÄÊÇ£¬ËûÃÇÓò»×żÈÊÇPythonÀÏʦҲÊÇCPython VMר¼Ò²ÅÄÜÓÐÏ£ÍûʵÏÖËü¡£ ËùÒÔ£¬ÐµÄVM²¢²»»áÈ«²¿Ó¿ÏÖ³öÀ´Ö®ºó±ãÒòÆä²»ÍêÉƶøÊÙÖÕÕýÇÞ£¬È¡¶ø´úÖ®µÄÊÇ£¬Ò²ÐíÎÒÃÇ»áºÜ¿ì¼ûµ½Ò»¸öÏà·´µÄÇ÷ÊÆ£ºÏÖ´æµÄVM Öð½¥Ë¥°Ü£¬Ìæ´úËüµÄÊÇʼÖվ߱¸Áé»îÐÔµÄPyPy¡£ÐÒÔ˵Ļ°£¬ÎÒÃÇ¿ÉÄÜ»¹»á¿´µ½PyPy¶¥ÌæÒÔC¡¢JavaºÍC#×÷Ϊ·Òëºó¶ËµÄCPython, JythonºÍ IronPythonµÄλÖ㬳ÉΪÁËͳÖÎÒ»ÇеÄPythonƽ̨£¨One Python to Rule Them All£©¡£ ¸üУº¾ÍÔÚÎÒ·¢±íÕâƪÎÄÕÂÖ®ºó£¬ÎÒÌý˵ÁËÒ»ÔòÏûÏ¢<http://www.mail-archive.com/pypy-dev@codespeak.net/msg01205.html> £¬Òâ˼ÊǾÝ˵µ½¾ÅÔ·ÝΪֹ£¬PyPyÒѾ½ö±ÈCPythonÂý¶þÊ®±¶¡£Èç¹ûÊÂʵȷʵÈç´Ë£¬ÐÎÊÆ·¢Õ¹µÃʵ¼ÊÉϸü¿ìÁË¡£2000£¬200£¬20¡Àë2ºÍ0.2 »¹ÓжàÔ¶ÄØ£¨Õâ±ÈCPython»¹Òª¿ì5±¶£©? ¿É²»ÐÒµÄÊÇ£¬Ã¿Ò»´ÎÊýÁ¿¼¶ÐµÄÅÅÐòÒ»°ã»á±È¹ýÈ¥µÄ¸üÀ§ÄÑ¡£Ôã¸âµÄÊÇËûÃDz»Äܽ«Êä³ö·´À¡¸ø»ØÊäÈ벢ʹÆä´ïµ½µ½ËüÃÇÏëÒªµÄ¸ß´ïÔÀ´Ê®±¶µÄËٶȡ££º£© £¨ÔÎÄÁ´½ÓÍøÖ·£ºhttp://dirtsimple.org/2005/10/children-of-lesser-python.html£© -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070328/827f3c8b/attachment-0001.html
Zeuux © 2025
京ICP备05028076号