Windows平台编译安装Ruby On Rails

一直使用官方网站下载的ruby 1.8.5二进制包,感觉在windows下速度一般,决定自己编译一下看有没有优化的空间

我的机器是Thinkpad T43,配置PM1.73G 内存1G win2003。以下过程的前提是安装了VC6.0,并且需要确保存在以下命名:nmake、cl、lib、dumpbin。更高版本的VC我没有试过。

1、下载最新的ruby源代码包
目前最新的源代码包是1.8.6p111(下载地址:[url]ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p111.tar.gz[/url]),下载后解压到一个临时目录,假设为C:\temp\ruby-1.8.6-p111。

2、调整优化ruby源代码参数
[color=red]注:此步骤是参考一些优化文章加入的,为试验性质,目前我还没有进行压力测试,无法证明其有效性,建议跳过[/color]
修改gc.c文件:
[code]第60行:#define GC_MALLOC_LIMIT 8000000 (默认为200000)
第312行:#define HEAP_MIN_SLOTS 60000 (默认为10000)
第315行:#define FREE_MIN 40960 (默认为4096)[/code]

3、设置编译环境变量:
运行gem及rails需要ssl、zlib等扩展库支持,需要配置对应include及lib环境。
下载附件support.zip([url]http://www.iteye.com/topics/download/361e3f7a-4903-4400-96d9-313d315f6889[/url]),把附件中文件的include及lib都解压到一个临时目录,假设分别为C:\temp\support\include及C:\temp\suport\lib。
打开命令行,执行:
[code]C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat
set INCLUDE=%INCLUDE%;C:\temp\support\include
set LIB=%LIB%;C:\temp\support\lib[/code]
不要关闭这个命令行窗口,以下编译过程将在此命令行窗口进行。

4、编译Ruby并安装到目标路径:
按ruby编译安装说明,依次执行以下命令:
[code]cd \temp\ruby-1.8.6-p111
win32\configure.bat i686-mswin32
nmake
nmake rubyw.exe
nmake test[/code]
执行完成后,即已经生成ruby可执行文件,需要安装到目标路径,假设为C:\opt\ruby-1.8.6,执行以下命令:
[code]nmake DESTDIR=C:\opt\ruby-1.8.6 install[/code]
执行完成后,把C:\opt\ruby-1.8.6\bin加入到PATH变量,即完成了ruby的编译安装。

5、安装gem
首先关闭掉之前编译的命令行,打开新的命令行窗口,执行以下命令确认已经在使用编译版本的ruby:
[code]ruby -v[/code]
下载最新的gem([url]http://rubyforge.org/frs/?group_id=126[/url]),目前为0.9.5。解压到一个临时目录,假设为C:\temp\rubygems-0.9.5。执行:
[code]
cd C:\temp\rubygems-0.9.5
ruby setup.rb
[/code]
最后确认一下已经是使用了最新的gem:
[code]gem -v[/code]

6、安装rails
安装rails就简单了,使用标准的gem安装,我目前项目文件中使用的是rails1.1.6和rails1.2.3,所以执行以下命令:
[code]
gem install rails -v 1.1.6
gem install rails -v 1.2.3
[/code]

经测试,ruby运行速度及启动单元测试的速度无明显改善,但也提供了一种手工编译安装的参考方法吧。
有兴趣的同学可以使用Intel C++编译器或更高版本的VC编译器试一下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值