如何降低我为Ruby对象分配的内存和分配的对象?

问题描述

我正在做一些分析,并为我的代码获得以下结果。

按位置分配的内存

145,470,848 receiver_matches_finder.rb:247

按位置分配的对象

2,863,763 receiver_matches_finder.rb:247

======

代码的要点在于,它采用字符串并将其替换为富正则表达式的文本。我正在遍历一个大循环,每次text都不同(重复数千个项目)

246   regex_text = ''
247   text.chars.each do |char|
248     regex_text << get_regex_substitution(char)
249   end
250   def self.get_regex_substitution(char)
251     CHAR_TO_SUBSTITUTION_MAPPING[char] || char
252   end

  CHAR_TO_SUBSTITUTION_MAPPING = {
      '0' => "[0o]",'1' => "[il1]{1,2}",'g' => "[g0oq]",'o' => "[o0]{1,}.freeze

text.chars遍历文本中的每个字符,并使其等效于正则表达式替换。

我不确定是否可以提高此代码的效率?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...