浏览 5768 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-11-04
一、Win32平台下安装 引用 cd \yarv-svn\win32
configure nmake(需要用到Bison,我用的是Cygwin带的) nmake install-nodoc 默认会安装在当前盘符根目录下的\usr文件夹 引用 C:\usr\bin>ruby -v
ruby 2.0.0 (Base: Ruby 1.9.0 2006-11-01) [i386-mswin32] YARVCore 0.4.1 Rev: 572 (2006-11-04) [opts: [inline method cache] ] 如果现在运行程序,还是会报错,说ubygem未找到。需要将lib\ruby\site_ruby\1.8下的rubygems.rb, ubygems.rb以及rubygems, rbconfig这两个文件夹copy到usr\lib\ruby\site_ruby\2.0下;而且现在还未安装扩展库,还得将yarv-svn\win32\.ext目录下的内容Copy到usr\lib\ruby\2.0下。就OK了。 二、Untuntu平台下安装 一开始编译时出错如下: 引用 gcc -g -O2 -DRUBY_EXPORT -I. -I. -c eval_load.c
gcc -g -O2 -DRUBY_EXPORT -I. -I. -c eval_proc.c eval_proc.c:14: 错误: 对 ‘rb_cUnboundMethod’ 的静态声明出现在非静态声明之后 ruby.h:725: 错误: ‘rb_cUnboundMethod’ 的上一个声明在此 eval_proc.c:15: 错误: 对 ‘rb_cMethod’ 的静态声明出现在非静态声明之后 ruby.h:710: 错误: ‘rb_cMethod’ 的上一个声明在此 make: *** [eval_proc.o] 错误 1 注释掉ruby.h三行多余的声明后(line:699,710,725),在Ubuntu下编译通过。 步骤总结: 引用 autoconf
./configure --program-suffix=-yarv make make install-nodoc (其余步骤与Win32下的类似) 引用 suninny@lenovo-laptop:~/work/yarv-svn$ ruby-yarv -v
ruby 2.0.0 (Base: Ruby 1.9.0 2006-11-01) [i686-linux] YARVCore 0.4.1 Rev: 572 (2006-11-04) [opts: [direct threaded code] [inline method cache] ] 三、跨平台对比测试: 这是那个词频统计程序的分值对比(U代表Ubuntu,C代表Cygwin,W代表Win32;/后是内存占用情况;括号中为上次的得分): 引用 UA:3.10s(3.36s)/64M(91M)
UB:3.73s(4.11s)/2.2M(3.2M) CA:3.16s(3.84s)/68M(95M) CB:5.31s(6.04s)/5M(5M) WA:4.98s/69M WB:7.59s/5M 效能提升还是蛮显著地。令人惊讶的是WB方案中YARV的分值竟然比普通的Ruby184-win32还低。Ruby系列对Win32有偏见呀。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-11-04
我們遇到的錯誤很不一樣呢,
我在cygwin下編譯,錯誤是在zlib.c:1762行, if (rb_obj_is_kind_of(ruby_errinfo(), rb_eNoMethodError))改成 if (rb_obj_is_kind_of(GET_THREAD()->errinfo, rb_eNoMethodError)),前面再加上#inlcude "yarv.h", 編譯通過: $ ./ruby-yarv.exe -v ruby 2.0.0 (Base: Ruby 1.9.0 2006-11-01) [i386-cygwin] YARVCore 0.4.1 Rev: 572 (2006-11-04) [opts: [direct threaded code] [inline method cache] ] |
|
返回顶楼 | |
发表时间:2006-11-04
是啊。偶之前在Cygwin下编译也是碰你上面所说的错误。Cygwin下就是经常会有蛮多变数,比如有时连./configure时都会报错,说无法定位config.sub。。。不懂。或许是跟autoconf的版本有关吧。
不过。这次YARV在Cygwin下的表现有较大突破哦。 文中也加入了Cygwin下的分值。 |
|
返回顶楼 | |