易截截图软件、单文件、免安装、纯绿色、仅160KB

ruby 线程的性能测试

在使用中ruby的过程中难免会遇到提高性能的问题,由此便想起了ruby线程。但是我在使用中却发现ruby的线程却不能提高性能。我写了以下代码,做了些简单测试。
代码
# -*- coding: GB2312 -*-
require 'date'
# 使用线程,线程的处理代码里没有sleep
def have_thread_no_sleep
p Time.now
thread1 = Thread.new do
a = 0
20000.times do |v|
a = DateTime.parse('1993-02-24T12:30:45')
end
p a
end
thread2 = Thread.new do
a = 0
10000.times do |v|
a = DateTime.parse('1993-02-25T12:30:45')
end
p a
end
thread = [thread1,thread2]
thread.each {|t| t.join }
p Time.now
end
# 没有使用线程,线程的处理代码里没有sleep
def no_thread_no_sleep
p Time.now
a = 0
20000.times do |v|
a = DateTime.parse('1993-02-24T12:30:45')
end
p a
a = 0
10000.times do |v|
a = DateTime.parse('1993-02-25T12:30:45')
end
p a
p Time.now
end
# 使用线程,线程的处理代码里有sleep
def have_thread_have_sleep
p Time.now
thread1 = Thread.new do
a = 1 + 2
sleep 3
p a
end
thread2 = Thread.new do
a = 0
a = 1 + 2
sleep 2
p a
end
thread = [thread1,thread2]
thread.each {|t| t.join }
p Time.now
end
# 没有使用线程,线程的处理代码里有sleep
def no_thread_have_sleep
p Time.now
a = 1 + 2
sleep 3
p a
a = 0
a = 1 + 2
sleep 2
p a
p Time.now
end
p "没有使用线程,线程的处理代码里没有sleep"
no_thread_no_sleep
p "使用线程,线程的处理代码里没有sleep"
have_thread_no_sleep
p "使用线程,线程的处理代码里有sleep"
have_thread_have_sleep
p "没有使用线程,线程的处理代码里有sleep"
no_thread_have_sleep

测试结果如下
"没有使用线程,线程的处理代码里没有sleep"    ->     24秒
2009-12-02 23:03:11 +0800
#<DateTime: 1993-02-24T12:30:45+00:00 (4702162601/1920,0/1,2299161)>
#<DateTime: 1993-02-25T12:30:45+00:00 (4702164521/1920,0/1,2299161)>
2009-12-02 23:03:35 +0800
"使用线程,线程的处理代码里没有sleep" -> 26秒
2009-12-02 23:03:35 +0800
#<DateTime: 1993-02-2


相关文档:

ruby的Excel操作

require 'win32ole'
excel = WIN32OLE::new('excel.Application')
workbook = excel.Workbooks.Open('E:\RubyApp\bmk.xls')
worksheet = workbook.Worksheets(1) #get hold of the first worksheet
worksheet.Select #bring it to the front -need sometimes to run macros, not for working with a worksheet from ru ......

rails on ruby exmaples depot

1.install ruby
    download from http://www.ruby-lang.org/en/news/2009/12/07/ruby-1-9-1-p376-is-released/
2.install rails
   ruby gem install rails --include-dependencies
3.install mysql
   download from http://sourceforge.net
   ruby gem install&nb ......

Ruby 1.9不会杀死Python

      松本行宏如约于圣诞节发布了Ruby 1.9。根据Ruby的惯例,小数点后面第一位如果是单数,那么就表明这是一个实验版本,不推荐用于产品环境。所谓“产品环境”,对于目前的Ruby来说,基本上就是Ruby on Rails。从目前RoR社群的反映来看,确实有人正在尝试用Ruby 1.9配合RoR,但是尚属 ......

自动化测试之路(一) ruby初探

从今天起不再浪费时间,开始走向自动化测试这条光明的道路,并以搭建一个自动化测试平台为目标,并这个过程一点点的记录下来和大家分享
首先,是ruby环境的搭建
(1)到ruby的官网:http://www.ruby-lang.org/en/下载 ruby安装程序;
      PS :选择 ruby on windows,我下载的是Ruby 1.8.6 One ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号