易截截图软件、单文件、免安装、纯绿色、仅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 写Turing 机


最近在看John E.Hopcroft,Rajeev Motwani,Jeffrey D.Ullman 三巨头写的Introduction to Automata Theory,Language,and Computation,想写一个Turing 机验证一下自己写的状态转移函数对不对。懒得很,网上搜了几个不错的。但Ruby Quiz 上的这个最简单。
162 Turing 机
问题描述
Quiz
description by James Edward Gray ......

ruby安装mysql

ruby on rails安装mysql数据库
1. 下载mysql软件
  http://www.mysql.cn/
  mysql中文官方网站下载安装软件,选择5.0
2. 安装mysql,设置默认字符集为utf-8
3. 下载mysql for ruby的驱动并安装
http://rubyforge.org/搜索mysql,找到mysql -win
点击下载,进入页面
http://rubyforge.org/frs/?group_id= ......

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 ......

Ruby 1.9不会杀死Python

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

Ruby Shoes 的鼠标事件

因为一次偶然的机会接触了Ruby语言。然后下载了Ruby Shoes工具。
发现Ruby还是蛮有趣的。
花了一段时间熟悉了它的语法。
下面来试试它的鼠标功能。
Shoes.app do
  #图片初始化
  @img = image "http://www.google.cn/intl/zh-CN/images/logo_cn.gif"
  #图片关于鼠标的调用
 & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号