未验证 提交 0b9bf2e2 编写于 作者: S Sam 提交者: GitHub

PERF: symbolize ivar, to reduce dupes

I noticed this in my memory profiler report.

```
 153  "@default_url_options"
       152  /home/sam/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activesupport-5.1.4/lib/active_support/core_ext/class/attribute.rb:84
```

152 copies of the string `@default_url_options` are retained on the heap in Discourse post boot. 

Since this is just used for ivar lookups there is no need to use a string.
上级 4865f6b5
......@@ -98,7 +98,7 @@ def class_attribute(*attrs)
singleton_class.silence_redefinition_of_method("#{name}?")
define_singleton_method("#{name}?") { !!public_send(name) } if instance_predicate
ivar = "@#{name}"
ivar = "@#{name}".to_sym
singleton_class.silence_redefinition_of_method("#{name}=")
define_singleton_method("#{name}=") do |val|
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册