Tag: 基准测试

如何准确地确定加载模型所需的时间?

我想对加载模块所花费的时间进行基准测试(find_by_id(234)调用)。 另外,我如何跟踪加载页面所需的时间,我知道在运行rails服务器时我得到了这些信息,但这是在调试模式下,我想要生产速度基准,可能吗?

是否有基准比较django,rails和PHP框架的相应内存使用情况?

我必须在具有有限RAM(1 GB,无交换)的嵌入式服务器上运行具有许多服务的Web服务器。 最多可有100个用户。 我将提供诸如论坛,小游戏(javascript或flash)等服务。 我的团队非常了解Ruby on Rails,但我有点担心Rails的内存使用情况。 我真的不想在这里开始一个巨魔,但我想知道是否有任何比较Rails,Django,CakePHP或任何其他PHP框架的严肃(即记录)基准? 你能指点基准还是给我你对Rails内存使用情况的看法? 请不要拖钓。

Apache基准测试multipart / form-data

我正面临一个apache基准post文件的奇怪问题。 我需要强调一个处理文件上传的function。 所以,我搜索了一下,发现了一篇描述如何正确构建post文件的post。 其内容如下: –1234567 Content-Disposition: form-data; name=”user_id” 3 –1234567 Content-Disposition: form-data; name=”file”; filename=”cf_login.png” Content-Type: image/png [base64 encoded file content] –1234567– ab线是这样的: $ ab -c 1 -n 5 -v 4 -T ‘multipart/form-data; boundary=1234567’ -p post_file.txt http://localhost:3000/files 当ab发出请求时,生成的标头如下: INFO: POST header == — POST /files.json/ HTTP/1.0 Content-length: 229 Content-type: multipart/form-data; boundary=simpleboundary Host: localhost:3000 User-Agent: ApacheBench/2.3 Accept: […]

在Jruby和ruby中运行nokogiri

我发现CPU和内存消耗使用率差异很大。 当我运行以下nokogiri脚本时,似乎没有发生垃圾收集 require ‘rubygems’ require ‘nokogiri’ require ‘open-uri’ def getHeader() doz = Nokogiri::HTML(open(‘http://losangeles.craigslist.org/wst/reb/1484772751.html’)) puts doz.xpath(“html[1]\/body[1]\/h2[1]”) end (1..10000).each do |a| getHeader() end 当在Jruby中运行时,CPU消耗超过10,并且内存消耗%随时间上升(从2到20开始),直到它最终说“内存不足” 在Ruby中运行时,CPU消耗从不超过2,内存消耗%不变为0.2! 为什么会出现如此大的差异,为什么内存消耗会在崩溃之前稳步增长。 在Ruby中运行它,低得多的CPU使用率,以及持续非常低的内存消耗

Ruby attr_accessor与getter / setter基准:为什么访问器更快?

我刚刚对等效的getter / setter-methods测试了attr_accessor: class A # we define two R/W attributes with accessors attr_accessor :acc, :bcc # we define two attributes with getter/setter-functions def dirA=(d); @dirA=d; end def dirA; @dirA; end def dirB=(d); @dirB=d; end def dirB; @dirB; end end varA = A.new startT = 0 dirT = 0 accT = 0 # now we […]

ActiveRecords select(:id).collect与pluck(:id)方法:为什么纯AR“采摘”更慢?

我试图从我的文章模型中获取所有ID。 我可以用两种方式做到: Article.select(:id).collect{|a| a.id} Article Load (2.6ms) SELECT “articles”.”id” FROM “articles” 要么 2.2.1 :006 > Article.pluck(:id) (4.3ms) SELECT “articles”.”id” FROM “articles” 是什么赋予了? 为什么AR比Ruby版本慢? 即使我对Ruby方法进行基准测试,它似乎更快: Benchmark.measure{Article.select(:id).collect{|a| a.id}} Article Load (1.9ms) SELECT “articles”.”id” FROM “articles” => #

为什么==比eql更快?

我在文档中读到了关于eql?的String类eql? 是一个严格的相等运算符,没有类型转换,并且==是一个等于运算符,它尝试将其参数的第二个转换为String,并且此方法的C源代码确认: 这个eql? 源代码: static VALUE rb_str_eql(VALUE str1, VALUE str2) { if (str1 == str2) return Qtrue; if (TYPE(str2) != T_STRING) return Qfalse; return str_eql(str1, str2); } ==源代码: VALUE rb_str_equal(VALUE str1, VALUE str2) { if (str1 == str2) return Qtrue; if (TYPE(str2) != T_STRING) { if (!rb_respond_to(str2, rb_intern(“to_str”))) { return Qfalse; } return rb_equal(str2, str1); […]