Feature #9963


Added by David Cornu 11 months ago. Updated 11 months ago.



I'd like to add a way to get the size of Ruby's symbol table. This is currently possible by using Symbol.all_symbols, however it builds a new array every time it's invoked which is pretty inefficient.

The main use case for this would be to assist in detecting accidental symbol creation.

I have a PR open (https://github.com/ruby/ruby/pull/639) that adds a Symbol.count method but this could also be added in the output of GC.stat.


#1 Updated by Motohiro KOSAKI 11 months ago

I understand symbol table detection is important for tuning ruby nowadays. But as far as I know, it is just because past ruby can't gc symbols.

Now, ruby trunk has symbol GC. (https://bugs.ruby-lang.org/issues/9634).
So, symbol table size is no longer important tuning parameter.

If you have another use case, please elaborate more detail.

#2 Updated by David Cornu 11 months ago

Now, ruby trunk has symbol GC


#3 Updated by Hiroshi SHIBATA 11 months ago

  • Status changed from Open to Feedback

Also available in: Atom PDF