锁定老帖子 主题:ruby线程运行速度测试
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-11-02
测试结果吓一跳,不是太快。和native thread相比,实在太慢。 代码很简单,每次启动10个ruby thread,做100000次的累加。连续运行10次,求运行平均值。 我的工作机,PC 2.8G,单核。1G内存,windows XP。测试的时候也没有特别清理运行环境, 最后的平均结果3.0937 time = 0 10.times do |k| now = Time.now puts now.to_s count = 0 threads = [] 10.times do |i| threads[i] = Thread.new do #sleep(rand(0.1)) 100000.times do |j| count += j end Thread.current["mycount"] = count end end threads.each {|t| t.join; print t["mycount"], ", " } puts "count = #{count}" later = Time.now time += later-now puts later-now end puts time/10 然后同样的代码用C++写了一份,运行时间都测试不出来,时间差值几乎是0。几乎程序刚刚启动,运行就结束了。不像Ruby代码,还像模像样的运行了段时间。 HOHO。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-11-02
ruby的速度的确慢一点,我在本机跑develop环境下的ruby程序,那个慢。
|
|
返回顶楼 | |
发表时间:2006-11-02
你应该换linux系统测试下
|
|
返回顶楼 | |
发表时间:2006-11-02
ouspec 写道 ruby的速度的确慢一点,我在本机跑develop环境下的ruby程序,那个慢。
我的本机上用webrick测试,感觉还行(只是觉得老有个黑屏幕挂着觉得有点不舒服-winxp下)。 我的本机ror在apache cgi模式下慢得让人抓狂(测试了一下就再也不想用了)。网上说apache fastcgi模式下可以非常快,可惜没配置成功。同时也不想把apache降到apache1.3。 目前开发调试用webrick最便捷。环境配置是个基础问题,这个问题没解决好,对普及ror可能是阻碍。 |
|
返回顶楼 | |
发表时间:2006-11-02
我的piv1.4G,512RAM,linux,平均是2.74s。
貌似在linux下性能更好一些? |
|
返回顶楼 | |
发表时间:2006-11-02
together 写道 我的piv1.4G,512RAM,linux,平均是2.74s。
貌似在linux下性能更好一些? 我测试的时候,开了大概10多个程序,还有几个是大型软件。还听着歌。总体效率多少是会影响到的, 不过linux也许会效率高些的,windows 毕竟不是ruby的理想运行环境. |
|
返回顶楼 | |
发表时间:2006-11-02
不是吧
我的测试结果是0.16s P4-HT 1G Ubunt 6.06 Linux-2.6.15-27-SMP |
|
返回顶楼 | |
发表时间:2006-11-02
我的平均是2.5s。也是Ubuntu 6.10 linux,AMD 1700+.
|
|
返回顶楼 | |
发表时间:2006-11-02
这成了c++和ruby的对比了,不能算是ruby线程和native的比较,即便是只有一个线程,差距也会有这么大。
|
|
返回顶楼 | |
发表时间:2006-11-02
qiezi 写道 这成了c++和ruby的对比了,不能算是ruby线程和native的比较,即便是只有一个线程,差距也会有这么大。
这也有道理,可能要对比下有native thread支持的ruby vm才正确。不过ruby慢的确是慢的很 |
|
返回顶楼 | |