user system total real @fredwu 6.550000 0.000000 6.550000 ( 6.553984) hhuai1 4.580000 0.000000 4.580000 ( 4.575098) @ashchan 5.190000 0.010000 5.200000 ( 5.196660) hhuai 6.100000 0.000000 6.100000 ( 6.106076) zw963 卡死
这是最新的 benchmark。
@zw963 这一句是死循环,永远为真。 result << copy.pop(random_element) until copy.nil?
#10 楼 @zw963 http://apidock.com/ruby/Random 1.9.2-p180 上才有。
我昨天一直在思考是否继续搞 Ruby, 目前我很为其前景担扰 1、虚拟机/解释器的改进很缓慢,JIT 一直没有实现。 2、windows 上的速度一直上不来,不要拿什么借口过来,从 c->java->python,没有什么语言会在 win 上环境差这么多。这个问题解决不了,开发者的数量肯定上不来。只有真正火起来,才能得到大量商业厂商的支撑,很多问题不是个人能解决的,而对厂商确只是砸钱的问题。 3、这个语言日化太严重,核心还撑握在开发者手里,很多最新消息都抛的日文。
欢迎一起讨论。
#19 楼 @skandhas 可以用这个试试http://lxr.sf.net/,我看了一下别人生成的,效果还可以。
这是目前为止的 benchmark,1_000_000.times mac lion cpu i5 2.3 - ram 4g user system total real ashchan 5.100000 0.000000 5.100000 ( 5.102993) hhuai 6.640000 0.010000 6.650000 ( 6.639527) hhuai1 4.500000 0.000000 4.500000 ( 4.508758)
又写了一个,感觉效率应该好点,代码量长点
def hhuai_rand_split1(array, max_element)
last = max_element
total = last
ll = []
ss = 1..max_element
while last > 0
n = Random.rand(ss)
ll<<array[total-last,n]
last -= n
end
ll
end
def rand_split(array, max_element)
list = []
l = Array.new(array)
list << (l.pop Random.rand(1..max_element) ) while l.count > 0
list
end
什么哲学,你想太多了,作者写着写着就变成这样了呗。 你不觉得现在很多观众的想像力已经超过导演的了吗。
我一般都./configure --prefix 定制安装目录,到时直接删文件夹。 可以的话,还是用尽量用 apt 之类的管理吧。
#11 楼 @sunzheng91 我不支持这个说法,用 method_missing、动态添加方法都可以,但不要用 class_eval 调用一段字符串来凭空生成类,这个看得真的好恶心的。
我觉得 ruby 应该把 class_eval 之类的方法去掉,这个太影响调试和浏览代码了。
哦,我在学习英语。不过目前的状态是,中文可以一目十行,英文只能十目一行。
web 版的好像都做得不错。
依我这种 rails 新手来看,如果需求足够实现的话,就直接写 model 中,明摆着 Observer 要多成生一个类。嘿嘿。
我们是放在云存储。
没啥好处,性能其实有很大的浪费,比如同 10 个人在同一秒内都打开这个页面,那么他会生 10 个@posts,都是一样的内容,没有复用到。
#7 楼 @yangyanhao 哈哈,我们心有灵犀了,我刚用这个试完。
proc_object = proc do |event, file, line, id, binding, klass|
puts "#{event} in #{file}/#{line} #{id} #{klass}"
end
set_trace_func(proc_object)
require 'rails/commands'
机器卡了一阵后,发现有大量关于 mongoid 的输出,仔细看相关代码,发现其中有个 model 不知道怎么写成这样了。
include Mongoid::Document
class DataForm
include Mongoid::MultiParameterAttributes
改好后就可以了。
加载 controller 就立马加载对应 model, 难怪还没进 index 方法就跑进 model 了。
是的,因为还没进入那个 index 方法。
而且肯定还没进我的用户代码,还在 rails 框架层里面。
对,是死循环递归调用了,但从何开始调呢,这个堆栈没抛出来,我现在根本不知道在哪一块出的错。