Tag: 表现

在rails中,是否使用表单助手?

在rails中,是否建议使用表单助手? 在内部,一切都归结为普通的html然后为什么不直接写html? 在编写直接html时,性能显然会比使用帮助程序更好。 使用表单助手像惯例或铁轨开发人员必须遵循的东西?

Ruby中的计时器性能

我正在寻找一个在ruby中演示计时器的在线示例,并且遇到了下面的代码。 它按预期工作,但这个简单的程序使用30Mo的内存(如Windows任务管理器中所示)和太多的CPU是否有意义? 非常感谢 def time_block start_time = Time.now Thread.new { yield } Time.now – start_time end def repeat_every(seconds) while true do time_spent = time_block { yield } # To handle -ve sleep interaval sleep(seconds – time_spent) if time_spent < seconds end end repeat_every(5) { }

提高大文件的加载速度

我的程序使用了两个大文本文件(数百万行)。 这些文件被解析并加载到哈希中,以便可以快速访问数据。 我面临的问题是,目前,解析和加载是程序中最慢的部分。 下面是完成此操作的代码。 database = extractDatabase(@type).chomp(“fasta”) + “yml” revDatabase = extractDatabase(@type + “-r”).chomp(“fasta.reverse”) + “yml” @proteins = Hash.new @decoyProteins = Hash.new File.open(database, “r”).each_line do |line| parts = line.split(“: “) @proteins[parts[0]] = parts[1] end File.open(revDatabase, “r”).each_line do |line| parts = line.split(“: “) @decoyProteins[parts[0]] = parts[1] end 文件看起来像下面的例子。 它最初是作为YAML文件开始的,但是格式被修改以提高解析速度。 MTMDK: P31946 Q14624 Q14624-2 B5BU24 B7ZKJ8 B7Z545 […]

哪个在ruby中更快 – 哈希查找或带有case语句的函数?

我们在时间要求严格的脚本中有几个地方,我们将旧ID转换为字符串。 目前,我们在函数中使用case语句,如下所示: def get_name id case id when 1 “one thing” when 3 “other thing” else “default thing” end end 我正在考虑用哈希查找替换它,如下所示: NAMES = { 1 => “one thing”, 3 => “other thing”, } NAMES.default = “default thing” 感觉使用NAMES[id]比使用get_name(id)更快 – 但是它呢?

设置操作与ruby中的数组操作的效率

集合和数组之间的运算效率有何不同? 例子: 查找 迭代 包括?

&method(:method_name)习惯用法对Ruby的性能有害吗?

我最近遇到了&method(:method_name)语法。 (这使用Object#method方法 – RDoc链接 )例如, [5, 7, 8, 1].each(&method(:puts)) 相当于 [5, 7, 8, 1].each{|number| puts number} 在Ruby的各种实现中,与前者相比,后者是否存在性能损失? 如果是这样,实施者是否正在努力改善其性能?