阅读更多
Ruby Enterprise Edition (REE) 是标准Ruby解析器的改进版本,号称能够让rails应用节约1/3的内存使用量,并且有有更好的性能提高。最近它发布了新版本,包括了如下新特性:
1. GC的改进,提高服务器的GC性能
2. 更好的Max OS X系统支持
3. 更好的64操作系统支持,在64位的FreeBSD 7和64位的Ubuntu 8.10 Server测试通过。
4. 更好的solaris操作系统支持

这次的更新对64位支持很不错,因为目前很多rails的应用都跑在64位os上(包括javaeye),据作者说64位上节约的内存在1/4左右

更多的更新信息请参考:
http://blog.phusion.nl/2008/12/05/ruby-enterprise-edition-186-20081205-released-thank-you-sponsors/


          -------------------------------------- 评论分割线 ------------------------------------------

REE(Ruby Enterprise Edition)主要使用了两项技术来提高Ruby的性能和内存分配:

一、Copy On Write技术

当父进程创建子进程的时候,地址空间不并复制到子进程,只有子进程需要写地址空间的时候,才复制地址空间。因此父进程和子进程可以共享只读地址空间,节省内存。使用REE号称节省了25%的内存。

但是Copy On Write的前提是由父进程来创建子进程,才可能共享内存地址空间。无论你是用Nginx/Mongrel/Thin,还是用Lighttpd/FastCGI来跑Rails,其实都是独立启动n个互相之间没有任何关系的进程,所以根本无法利用到Copy On Write。事实上你只有使用Apache/mod_rails的时候才可能得到这项好处。


二、tcmalloc Google开源出来的线程缓存的内存分配技术

tcmalloc当然很好,但问题是64位CPU上仍然无法使用tcmalloc,所以REE在64位CPU的服务器上tcmalloc是被disable掉的。

REE的这两项技术在不同的服务器上面表现如下:

On 32-bit:
- 5% slowdown because of GC patches
- 25% speedup because of tcmalloc
- Net result: 20% speedup.

On 64-bit:
- 5% slowdown because of GC patches
- No tcmalloc available
- Net result: 5% slowdown.

也就是说,如果你在64位CPU的服务器上面跑REE,Ruby性能会下降5%!而如果此时你用的部署方式不是Apache/mod_rails的话,连内存都不会节省一分一毫。

所以先不要着急欢呼。
9
0
评论 共 4 条 请登录后发表评论
4 楼 weilJava 2011-03-21 17:45
用ruby可以获取当前CPU使用率和内存使用的信息吗?
3 楼 t0uch 2008-12-08 18:54
也就是说,如果你在64位CPU的服务器上面跑REE,Ruby性能会下降5%!而如果此时你用的部署方式不是Apache/mod_rails的话,连内存都不会节省一分一毫

所以到现在为止,javaeye还是没有使用这个REE,至少,内存泄漏的问题应该没有了吧?
2 楼 ruvuoai 2008-12-08 10:58
2天不见,多了这么多东西南北,世界真实无时无刻滴不再变化呀!!
1 楼 reeze 2008-12-07 09:26
不过他们的下载链接有问题。下不下来~

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 财务输入控件

    一个中国式的财务数字输入控件,//参考了别人的代码,做一个中国式的财务数字输入控件;比较粗糙,但也学习到不少东西

  • refman 5.7 en mysql_实战三种方式部署 MySQL5.7

    作者:北京运维常见的 MySQL 安装方式有如下三种:RPM 包方式:这种方式安装适合对数据库要求不太高的场合,安装速度快;通用二进制包方式:安装速度相较于源码方式快,可以自定义安装目录。源码编译安装:安装过程比较慢,机器性能不好的情况下,大约需要30分钟左右,通常适用于mysql定制化的安装,比如需要加入一些第三方的插件及依赖库等环境说明OS 版本MySQL 版本CentOS7.5.18045...

  • 【3.Delphi常用组件】2.输入显示组件

    2.输入显示组件 2.1 Edit组件 编辑框 Edit 组件可用于输入文本,也可以显示文本。主要属性如下: 属性 说明 AutoSelect 设置组件获得焦点时,文本是否自动选中。 AutoSize 决定组件是否自动随字体的变化而改变大小。 Enable 设置编辑框是否能使用 BorderStyle 用来设置编辑框的边框类型,取值: bsSingle - 单线边框;bsNone - 无边框 MaxLength 设置编辑框所能接受的最大字符数

  • Delphi中SQL批量插入记录

    http://www.cnblogs.com/azhqiang/p/4050331.html   在进行数据库操作时, 我们经常会遇到批量向数据库中写入记录的情况. 在这里我提供3种操作方式:   1.  单条语句循环插入, 这是最笨的方法: for i := 0 to 100 do   ADOCommand1.Execute('IINSERT INTO .....')   //伪码, 只...

  • LabWindows操作SQL SERVER

    首要的安装 sqltoolkits.rar,添加 cvi_db.h cvi_db.fp,所有测试环境是LabWindows 2013+SQL SERVER 2008 +WINDOWS7/10 1 全局变量和数据结构 const int channelCount=21; //通道数目 int hdbc; //数据库连接 int hstat; //SQL语句执行 long curRecord=0; /...

  • Delphi中数据库内容编辑实践:从Edit方法到组件应用

    本文还有配套的精品资源,点击获取 简介:Delphi编程环境通过Edit方法提供了一种交互式方式编辑数据库记录。本文将详细介绍使用Delphi中的数据库组件,如TDataSource、TTable和TField,执行编辑操作的过程。同时,本文还将探讨TDBEdit控件的数据绑定,以及事务处理和编辑过程中的注意事项,为开发者构建稳定和健壮的数据库应用程序提供指导。 ...

  • java swing 表格_Java Swing实战(五)表格组件JTable(1)

    dbPanel面板的配置告一段落。接下来配置taskPanel 面板。/*** @author: lishuai* @date: 2018/11/26 13:51*/public class WeimingSyncApplets {public static void main(String[] args) {// 面板组件JPanel taskPanel = new JPanel();JPane...

  • [导入]通用Delphi数据库输入控件DBPanel的实现

    文章来源:http://blog.csdn.net/nm/archive/2000/08/29/4411.aspx 转载于:https://www.cnblogs.com/zhaoxiaoyang2/archive/2000/08/29/816534.html

  • dbpanel:laravel应用程序开发人员工具

    dbpanel 介绍 dbpanel是用于laravel应用程序的开发人员工具。 您可以通过调用controller的namepspace@method来测试controller的操作方法,并保存它们以备将来使用。 您还可以运行artisan命令,对可用方法及其所有相关文档和参数类型进行名称空间查找。 :loudspeaker: 您还可以在同一面板中轻松快捷地访问laravel应用程序的database 。 该包装中有一些很酷的过滤器。 您可能还会查看表的列类型和索引。 您还可以更新和删除过滤的数据。 :loudspeaker: 您也可以通过在vue chrome扩展工具中单击open file ,在代码编辑器(phpstorm,vscode)中打开vue组件。 安装 :satellite_antenna: composer require niaz/dbpanel --dev 发布资产 :electric_plug: php artisan vendor:publish --tag=d

  • 新增MariaDB数据库管理、支持多版本MySQL数据库共存,1Panel开源面板v1.6.0发布

    新增MariaDB数据库管理、支持多版本MySQL数据库共存、支持定时备份系统快照

  • DELPHI7数据录入,单据录入DEMO,第三方控件为TOPGRID

    在条码处输入6971939910347或6901285991240后按回车,可把tbl_goods的数据带到表格中, 点击保存按钮可以把数据写入tbl_record表中, 点击加载可把tbl_record中的所有数据加载到表格上, 以上只是简单的DEMO,对于初学者来说应该有点帮助, 适用于ERP、进销存等数据录入单据录入等埸景, 还可以在条码列处显示BUTTON等, 高手跳过 用到的控件是TOPGRID3.01.07,也叫TSGRID。

Global site tag (gtag.js) - Google Analytics