微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何降低我为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 举报,一经查实,本站将立刻删除。