¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³ | »áÔ±ÖÐÐÄ | ÎÒҪͶ¸å Àî´óͬ £¨https://www.lidatong.com.cn/£©- ¿Æ¼¼¡¢½¨Õ¾¡¢¾­Ñé¡¢ÔƼÆËã¡¢5G¡¢´óÊý¾Ý,Õ¾³¤Íø!
µ±Ç°Î»Ö㺠Ê×Ò³ > °Ù¿Æ > ÕýÎÄ

ΪʲôһЩRuby´úÂëÔÚ2.53GHzÉϵÄÔËÐÐËÙ¶ÈÒª±ÈÔÚ2.2GHz Core 2 D

·¢²¼Ê±¼ä£º2020-12-16 22:42:58 ËùÊôÀ¸Ä¿£º°Ù¿Æ À´Ô´£ºÍøÂçÕûÀí
µ¼¶Á£º(Õâ¸öÎÊÌâÊÔͼÕÒ³öΪʲô³ÌÐòµÄÔËÐÐÔÚ²»Í¬µÄ´¦ÀíÆ÷ÉÏ¿ÉÄܲ»Í¬,ËùÒÔËüÓë±à³ÌµÄÐÔÄÜ·½ÃæÓйØ.) ÒÔϳÌÐò½«ÐèÒª3.6ÃëµÄʱ¼ä²ÅÄÜÔÚ¾ßÓÐ2.2GHz Core 2 DuoµÄMacbookÉÏÔËÐÐ,1.8Ãë¿ÉÒÔÔÚÓµÓÐ2.53GHz Core 2 DuoµÄMacbook ProÉÏÔËÐÐ.ÕâÊÇΪʲô£¿ ÕâÓеãÆæ¹ÖÂð£¿ÎªÊ²
(Õâ¸öÎÊÌâÊÔͼÕÒ³öΪʲô³ÌÐòµÄÔËÐÐÔÚ²»Í¬µÄ´¦ÀíÆ÷ÉÏ¿ÉÄܲ»Í¬,ËùÒÔËüÓë±à³ÌµÄÐÔÄÜ·½ÃæÓйØ.)

ÒÔϳÌÐò½«ÐèÒª3.6ÃëµÄʱ¼ä²ÅÄÜÔÚ¾ßÓÐ2.2GHz Core 2 DuoµÄMacbookÉÏÔËÐÐ,1.8Ãë¿ÉÒÔÔÚÓµÓÐ2.53GHz Core 2 DuoµÄMacbook ProÉÏÔËÐÐ.ÕâÊÇΪʲô£¿

ÕâÓеãÆæ¹ÖÂð£¿ÎªÊ²Ã´µ±CPUµÄʱÖÓËÙ¶ÈÖ»ÓÐ15£¥Ê±Ëٶȼӱ¶£¿ÎÒ×Ðϸ¼ì²éÁËCPU¼ÆÊýÆ÷,ÒÔÈ·±£Ã»ÓÐ2¸öÄÚºËÔÚ100£¥µÄʹÓÃÖÐ(ÒԱ㿴µ½CPU²»Ã¦ÓÚÔËÐÐÆäËûÄÚÈÝ).¿ÉÄÜÊÇÒòΪһ¸öÊÇMac OS X Leopard,Ò»¸öÊÇMac OS X Snow Leopard(64λ)£¿Á½Õ߶¼ÔËÐÐRuby 1.9.2.

p RUBY_VERSION
p RUBY_DESCRIPTION if defined? RUBY_DESCRIPTION
n = 9_999_999
p n

t = 0; 1.upto(n) {|i| t += i if i%3==0 || i%5==0}; p t

ÒÔÏÂÖ»ÊdzÌÐòµÄÊä³ö£º

ÔÚ2.2GHz Core 2 Duo£º(¸üУºMacbook±êʶ·û£ºMacBook3,1,Òò´Ë¿ÉÄÜÊÇIntel Core 2 Duo(T7300 / T7500))

$time ruby 1.rb
"1.9.2"
"ruby 1.9.2p0 (2010-08-18 revision 29036) [i386-darwin9.8.0]"
9999999
23333331666668

real  0m3.784s
user  0m3.751s
sys  0m0.021s

2.53GHz Intel Core 2 Duo£º(¸üУºMacbook±êʶ·û£ºMacBookPro5,4,Òò´Ë¿ÉÄÜÊÇÓ¢Ìضû¿áî£2Ë«ºËPenrynÓë3 MBƬÉ϶þ¼¶»º´æ)

$time ruby 1.rb
"1.9.2"
"ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]"
9999999
23333331666668

real  0m1.893s
user  0m1.809s
sys  0m0.012s

²âÊÔÔÚWindows 7ÉÏÔËÐУº

time_start = Time.now

p RUBY_VERSION
p RUBY_DESCRIPTION if defined? RUBY_DESCRIPTION

n = 9_999_999
p n

t = 0; 1.upto(n) {|i| t += i if i%3==0 || i%5==0}; p t

print "Took #{Time.now - time_start} seconds to runn"

Ó¢ÌضûQ6600ËĺË2.4GHzÔËÐÐWindows 7,64λ£º

C:&; ruby try.rb
"1.9.2"
"ruby 1.9.2p0 (2010-08-18) [i386-mingw32]"
9999999
23333331666668
Took 3.248186 seconds to run

Ó¢Ìضû920 i7 2.67GHzÔËÐÐWindows 7,64λ£º

C:&; ruby try.rb
"1.9.2"
"ruby 1.9.2p0 (2010-08-18) [i386-mingw32]"
9999999
23333331666668
Took 2.044117 seconds to run

Ϊʲôi7Óë2.67GHzµÄËٶȱÈ2.53GHzµÄCore 2 DuoÒªÂýһЩҲÊÇÆæ¹ÖµÄ.

½â¾ö·½·¨

ÎÒ»³ÒÉrubyÕýÔÚÇл»µ½ÈÎÒ⾫¶ÈµÄÕûÊýʵÏÖ
ÉÔºóÔÚ64λ²Ù×÷ϵͳÉÏ.

ÒýÓÃFixnum ruby?? doc£º

A Fixnum holds Integer values that can
be represented in a native machine
word
(minus 1 bit). If any operation
on a Fixnum exceeds this range,the
value is automatically converted to a
Bignum.

ÕâÀï,±¾»ú»úÆ÷×Ö¼¼ÊõÉÏÊÇ64λ,µ«½âÊÍÆ÷±àÒëΪÔÚ32λ´¦ÀíÆ÷ÉÏÔËÐÐ.

£¨±à¼­£ºÀî´óͬ£©

¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ!

    ÍƼöÎÄÕÂ
      ÈȵãÔĶÁ