Ruby 这样的 Ruby 代码是否对于测试 CPU 单线程性能是否有意义?

zw963 · 2013年08月30日 · 最后由 dayed 回复于 2013年09月22日 · 3514 次阅读
$ time ruby -e '100000000.times { 100 }'

我的苦逼 T60p 测试结果如下。

real     0m8.828s
user     0m8.805s
sys  0m0.015s

比你快那么一点点

real    0m8.655s
user    0m8.231s
sys 0m0.014s

明显没啥意义啊

为啥我的输出格式这么怪...

 ~   time ruby -e '100000000.times { 100 }'
ruby -e '100000000.times { 100 }'  4.75s user 0.01s system 99% cpu 4.766 total

#3 楼 @blacktulip 必须是你的 CPU 太快的缘故

#4 楼 @bhuztez 发现了,貌似是 ZSH 搞鬼

bash-3.2$ time ruby -e '100000000.times { 100 }'

real    0m4.742s
user    0m4.733s
sys 0m0.006s

另外给大家娱乐一下...

// 注意!少了两个零!我等不了那么久...
pi@raspberrypi ~ $ time ruby -e '1000000.times { 100 }' 

real    0m11.191s
user    0m3.040s
sys 0m0.720s
// 这是 DigitalOcean 的 $5 VPS ,这个没有少零
blacktulip@mdl:~$ time ruby -e '100000000.times { 100 }'

real    0m6.506s
user    0m6.484s
sys 0m0.008s

#6 楼 @blacktulip

ruby 版本不同造成的?难道上面那个是 ruby 1.8 ?

#2 楼 @bhuztez

回 B 大。

我只是在测试 Ruby 线程状态时,添加的无用代码。顺便问问,是否可以作为 benchmark. 我感觉这行代码,除了 CPU, 貌似其他资源应该都没用到多少吧。

#7 楼 @zw963 上面那个是... 你仔细看主机名...

#9 楼 @blacktulip

看了下百度百科,长见识了,国内有卖吗?

#10 楼 @zw963 淘宝 红蓝都有,质量不错

real 0m4.105s user 0m4.366s sys 0m0.238s

real 0m9.361s user 0m9.269s sys 0m0.012s 办公机,赛扬

rmovie (2.0.0) $ time ruby -e '100000000.times { 100 }'

real 0m7.912s user 0m7.768s sys 0m0.023s

real 0m30.222s user 0m29.374s sys 0m0.408s 虚拟机

sh-3.2$ time ruby -e '100000000.times { 100 }'

real    0m6.330s
user    0m6.292s
sys 0m0.014s

ψ(゚д゚#) /usr/bin/time ruby -e '100000000.times { 100 }'

3.94user 0.00 system 0:0 3.95elapsed 99%CPU (0avgtext+0avgdata 6932maxresident)

这格式好奇葩,难道是 zsh 的问题……

[/home/download]$ time ruby -e '100000000.times { 100 }' ruby -e '100000000.times { 100 }' 7.03s user 0.00s system 75% cpu 9.278 total

1.9.3p392

real 0m5.887s user 0m5.874s sys 0m0.011s

Linode: real 0m6.784s user 0m6.773s sys 0m0.011s

real 0m8.950s user 0m8.928s sys 0m0.008s

没有多线程优化不开星………我这 48 线程一点优势都没有………

DigitalOcean 1G CPU

#5 楼 @blacktulip ZSH bug 一大堆的

看来 wo 慢多了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号