• ngx_mruby Benchmark at 2016年03月18日

    #3楼 @nouse #5楼 @42thcoder

    wrk结果也有,结果一致就没发。

    wrk --threads 8 --duration 5 http://localhost:9292

    # ngx_mruby
    
    Running 5s test @ http://localhost:9292
      8 threads and 10 connections
      Thread Stats   Avg      Stdev     Max   +/- Stdev
        Latency   436.26us    1.23ms  30.83ms   99.51%
        Req/Sec     2.72k   722.64     4.15k    72.73%
      110280 requests in 5.10s, 16.39MB read
    Requests/sec:  21626.12
    Transfer/sec:      3.21MB
    
    # rack
    Running 5s test @ http://localhost:9292
      8 threads and 10 connections
      Thread Stats   Avg      Stdev     Max   +/- Stdev
        Latency     3.75ms  671.42us  15.34ms   89.68%
        Req/Sec   268.22     23.30   373.00     93.60%
      10856 requests in 5.10s, 1.28MB read
    Requests/sec:   2126.91
    Transfer/sec:    257.35KB
    
  • ngx_mruby Benchmark at 2016年03月18日

    #3楼 @nouse 。。你说的我都知道啊亲,我自己也说了结果不准。

    但是问题是,我的目的并不是要得到一个准确的“这台机器能响应多少请求”上啊。

    在其他变量都一致的情况下只有响应环境不一致,测试一下区别,这个才是我的目的啊。

    所以ab mac都不可信但是性能差距很明显是事实啊亲。

  • ngx_mruby Benchmark at 2016年03月18日

    #1楼 @nouse 自己测得啊,自己的笔记本啊,差了一个数量级的对照已经很明显了吧。

  • Rails 中的参数传递问题 at 2016年03月04日

    据猜测。。。输入空值实际上并不是空,你可以试着输出一下,search.class 因为很多情况下空有可能会是一个空字符串,所以判断的时候使用search.empty?来做判断再试下。

  • https://www.juhe.cn/docs/api/id/177/aid/601 考虑用api自动更新啊,手动的多麻烦啊。

  • #21楼 @pathbox 这。。。singleton class降智商啊。。。

    # 就是class extend module对吧 所以可以用Person.hi
    class Person
      extend Some
    end
    
    class Person
      # 一样的道理啊 singleton class extend module 所以只能用singleton_class.hi啊
      class << self
         extend Some
      end
    end
    
  • #17楼 @pathbox 你输出两次是因为你本身就P了两次啊。。。你singleton class 的extend不能在外面用啊

    class Person
      class << self
         extend Some
         hi
      end
    end
    
  • #14楼 @pathbox 不是啊,题主问的是singleton的singleton,所以如果是include应该是这样:

    class Person
      class << self
        class << self
            include SomeModule
        end
      end
    end
    

    #15楼 @way_von

    其实很简单啊,你想那么复杂干嘛,就是跟singleton class的功能都一致,为object提供实例方法

    你可以看看我最近写的这个

    http://blog.jerry-tao.com/ruby/2016/01/14/singleton_class_for_dummy.html

  • 额外的说,你在singleton里定义的class method其实都是定义在singleton class的singleton class里的,例如:

    class Person
      class << self
             def self.private_attributes(*params)
                  # some code
             end
          # 这样就可以在这里直接使用 private_attributes了啊
          private_attributes :some_config
      end
    end
    

    或者在singleton里extend一个module

    class Person
      class << self
         extend SomeModule
       end
    end
    
  • 也不能说没有实际用途吧,以下面代码为例。

    class Person
      class << self
          class << self
             def private_attributes(*params)
                  # some code
             end
          end
          # 这样就可以在这里直接使用 private_attributes了啊
          private_attributes :some_config
      end
    end
    

    不过再深一层好像就真的有点过分了,singleton class的singleton class的singleton class。。。