一直使用官方网站下载的ruby 1.8.5二进制包,感觉在windows下速度一般,决定自己编译一下看有没有优化的空间
我的机器是Thinkpad T43,配置PM1.73G 内存1G win2003。以下过程的前提是安装了VC6.0,并且需要确保存在以下命名:nmake、cl、lib、dumpbin。更高版本的VC我没有试过。
1、下载最新的ruby源代码包
目前最新的源代码包是1.8.6p111(下载地址:
ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p111.tar.gz),下载后解压到一个临时目录,假设为C:\temp\ruby-1.8.6-p111。
2、调整优化ruby源代码参数
注:此步骤是参考一些优化文章加入的,为试验性质,目前我还没有进行压力测试,无法证明其有效性,建议跳过
修改gc.c文件:
第60行:#define GC_MALLOC_LIMIT 8000000 (默认为200000)
第312行:#define HEAP_MIN_SLOTS 60000 (默认为10000)
第315行:#define FREE_MIN 40960 (默认为4096)
3、设置编译环境变量:
运行gem及rails需要ssl、zlib等扩展库支持,需要配置对应include及lib环境。
下载附件support.zip(
http://www.iteye.com/topics/download/361e3f7a-4903-4400-96d9-313d315f6889),把附件中文件的include及lib都解压到一个临时目录,假设分别为C:\temp\support\include及C:\temp\suport\lib。
打开命令行,执行:
C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat
set INCLUDE=%INCLUDE%;C:\temp\support\include
set LIB=%LIB%;C:\temp\support\lib
不要关闭这个命令行窗口,以下编译过程将在此命令行窗口进行。
4、编译Ruby并安装到目标路径:
按ruby编译安装说明,依次执行以下命令:
cd \temp\ruby-1.8.6-p111
win32\configure.bat i686-mswin32
nmake
nmake rubyw.exe
nmake test
执行完成后,即已经生成ruby可执行文件,需要安装到目标路径,假设为C:\opt\ruby-1.8.6,执行以下命令:
nmake DESTDIR=C:\opt\ruby-1.8.6 install
执行完成后,把C:\opt\ruby-1.8.6\bin加入到PATH变量,即完成了ruby的编译安装。
5、安装gem
首先关闭掉之前编译的命令行,打开新的命令行窗口,执行以下命令确认已经在使用编译版本的ruby:
ruby -v
下载最新的gem(
http://rubyforge.org/frs/?group_id=126),目前为0.9.5。解压到一个临时目录,假设为C:\temp\rubygems-0.9.5。执行:
cd C:\temp\rubygems-0.9.5
ruby setup.rb
最后确认一下已经是使用了最新的gem:
gem -v
6、安装rails
安装rails就简单了,使用标准的gem安装,我目前项目文件中使用的是rails1.1.6和rails1.2.3,所以执行以下命令:
gem install rails -v 1.1.6
gem install rails -v 1.2.3
经测试,ruby运行速度及启动单元测试的速度无明显改善,但也提供了一种手工编译安装的参考方法吧。
有兴趣的同学可以使用Intel C++编译器或更高版本的VC编译器试一下。
分享到:
- 2007-12-16 23:59
- 浏览 2511
- 评论(1)
- 论坛回复 / 浏览 (1 / 8451)
- 查看更多
相关推荐
三个资源在一起解压缩后(windows 平台下解压缩)即可得到《Ruby.on.Rails.Web开发之旅》一书。 内容简介 本书从Ruby和Rails的历史讲起,以在Rails框架上克隆故事共享网站digg.com为例,详细讲述了Ruby和Rails的...
三个资源在一起解压缩后(windows 平台下解压缩)即可得到《Ruby.on.Rails.Web开发之旅》一书。 内容简介 本书从Ruby和Rails的历史讲起,以在Rails框架上克隆故事共享网站digg.com为例,详细讲述了Ruby和Rails的...
三个资源在一起解压缩后(windows 平台下解压缩)即可得到《Ruby.on.Rails.Web开发之旅》一书。 内容简介 本书从Ruby和Rails的历史讲起,以在Rails框架上克隆故事共享网站digg.com为例,详细讲述了Ruby和Rails的...
Ruby on rails推荐的生产运行环境是Linux/FreeBSD/Unix。本文以Linux操作系统,lighttpd+FCGI,MySQL数据库为例,从源代码编译安装开始讲解。
第一步:下载安装文件 ...第二步: 双击安装 在安装的时候,请勾选... 您可能感兴趣的文章:Windows下Ruby on Rails开发环境安装配置图文教程windows和linux下Ruby的下载与安装windows下安装ruby与rails时遇到的问题总结
Ruby版本Ruby2.7.2p137 系统依赖性FFmpeg的-工具用来将视频文件合并- 配置更新config / initializers / constants.rb-需要为本地文件系统设置VINEHALLA_PATH常量。 创建数据库确保运行迁移,但也要使用种子文件...
咖啡壶这是使用作为语言编译的的简单实现特征Coffeepot 建立在 Ruby on rails 之上; 事实上,我用 gibber.audio.lib 做了另一个,这是改变 wavepot.com 团队提出的想法的一步。 为了实时编译,我使用了 websocket-...
Rails的刺激 是一个有野心JavaScript框架。 实际上,它并不试图接管整个前端,它根本不关心呈现HTML。 取而代之的是,它旨在通过足以使它发光的行为来扩展HTML。 Stimulus与Turbo完美搭配,以最小的努力为快速,...
Ruby 2.7.1 PostgreSQL NodeJS 12.13.x 纱线1.12.x 在开发中设置应用 运行bundle install以安装gem依赖项 运行yarn安装节点依赖项 运行bin/rails db:setup设置数据库开发和测试模式,并添加测试数据 运行bundle ...
该文档提供了在各种平台上服务于生产Ruby on Rails应用程序的解决方案,并提供了Rails应用程序所需工具的安装说明。平台(64位)工具(跨平台) 吉特Nginx的乘客ProxyPass和负载平衡RubyRuby版本管理器Ruby安装程序...
提交亚军SubmissionRunner用于编译和运行所选语言,以便对Submission进行评分。 SubmissionRunners::Base处理用于构建用于编译语言和运行提交的docker容器的逻辑。 每种语言的运行者都应继承自Base并提供图像的方法...
crystal-on-rails:Crystal on Rails是用于编译语言Crystal的Web应用程序框架
该网站同时具有访问者和管理端。 访问者端通过管理员的仪表板使用数据库中定义的信息。 图像托管使用 Paperclip gem 和 AWS S3。 来自entypo.com CSS 框架的字体图标:使用Sass 编译的Foundation Zurb CSS
该应用程序使用 rake 编译 arduino 草图,并根据 Rails 应用程序中的触发器(即单击按钮)将它们在后台写入 arduino。 如果您正在寻找与 arduino 更紧密的 ruby 语言集成,请查看 Dino gem。
目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。 2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub。
SALOR款待(又名Bill Gastro) 服务于酒店业的现代企业级销售点(POS)解决方案:酒店,饭店,旅馆,酒吧和商店... 您需要一些系统软件包,才能成功编译ruby gem的本机扩展: apt-get install ruby libruby ruby-dev
入门该应用程序是用Ruby on Rails编写的,下载存储库并开始使用! 安装Ruby 2.7.1 ( ) 安装 安装 安装 在此存储库中运行bin/setup 。为本地主机安装SSL brew install mkcertmkcert -installcd config/sslmkcert ...
尽管受到Ruby on Rails的启发,但它却轻巧得多。 它是基于cpp-netlib的HTTP服务器,使用路由系统,MVC设计,C ++编译的模板,资产预编译和数据库抽象。 Crails是模块化的,默认情况下带有一堆模块: 使用crails-...
最有价值球员创建一个用户帐号完整的CRUD功能可用于餐厅列表根据用户保存列表目标使用Ruby和Ruby on Rails进行服务器端渲染并使用React进行客户端完整的CRUD功能(后端和前端) 高级CSS样式允许用户添加自己喜欢的...
积分java源码Ruby 语言优化技术 NICHOLAS BENDER,博伊西州立大学 BEN NEELY,博伊西州立大学 JOHN OTANDER,博伊西州立大学 由于其出色的迭代速度、优雅的语法和热情的社区,Ruby 编程语言最近经历了广泛的采用和...