Feature #9963
closedSymbol.count
Description
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
.
Updated by kosaki (Motohiro KOSAKI) almost 9 years 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.
Updated by davidcornu (David Cornu) almost 9 years ago
Now, ruby trunk has symbol GC
Fantastic!
Updated by hsbt (Hiroshi SHIBATA) almost 9 years ago
- Status changed from Open to Feedback
Updated by akr (Akira Tanaka) almost 8 years ago
- Related to Feature #11158: Introduce a Symbol.count API as a more efficient alternative to Symbol.all_symbols.size added