查看: 2596|回复: 4

[讨论] 我说为什么在Ace的窗口过程里执行eval这么慢呢

[复制链接]
梦石
0
星屑
66
在线时间
1641 小时
注册时间
2011-9-26
回帖
302
发表于 2013-1-16 03:40:15 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
When benchmarking basic requests with a minimalistic schema (only one int column), even though YARV serviced requests 15% faster, it took much longer to load the environment (50% slower). This comes as no surprise since plain old (evil) eval is slower in YARV(...)In fact, the mere fact of requiring active_record (and indirectly ActiveSupport) causes a sharp decrease in performance.


eigenclass.org的测试结果,在YARV上执行的RoR比在1.8.6上执行要快15%,但是启动时加载环境慢了50%(记得以前在哪里看过,说Ruby每次eval都要修改环境)
So,在窗口过程里用eval获取窗口消息这种方法在Ace里会变得奇慢(限制一下CPU掉帧会变得非常明显)

@灼眼的夏娜 @七夕小雨 @晴兰 @yangff  
愿善用者善用之
https://github.com/Shy07/SINRGE2

炎发灼眼的讨伐

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
回帖
894
发表于 2013-1-16 08:58:16 | 显示全部楼层
消息太多(
回复

使用道具 举报

梦石
0
星屑
66
在线时间
1641 小时
注册时间
2011-9-26
回帖
302
 楼主| 发表于 2013-1-16 14:38:18 | 显示全部楼层
灼眼的夏娜 发表于 2013-1-16 08:58
消息太多(

精简过好多次了,最后只是单纯赋值操作还是能感觉到卡:(
愿善用者善用之
https://github.com/Shy07/SINRGE2
回复

使用道具 举报

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

发表于 2013-1-16 16:13:27 | 显示全部楼层
本帖最后由 yangff 于 2013-1-16 16:16 编辑

用rb_eval啥的呢。。
或者这样用吧。。https://github.com/project7/Project7
哎呀,蛋疼什么的最有爱了
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
回帖
1577

开拓者

发表于 2013-5-23 14:58:50 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部