Issue #9079 has been updated by ko1 (Koichi Sasada). Target version set to next minor Does it has huge impact? It is easy to add an instruction (replace concatstrings to concatstrings_and_make_it_symbol) or add a method like that. However, it has a bit problem about encoding. Current implementation is easy and safe, because we can catch up encoding related change to String. I want to remain this issue, if this does not have huge impact for performance. ---------------------------------------- Bug #9079: Interpolated Symbol creates unnecessary intermediate String on the heap https://bugs.ruby-lang.org/issues/9079#change-43600 Author: wycats (Yehuda Katz) Status: Open Priority: Normal Assignee: ko1 (Koichi Sasada) Category: Target version: next minor ruby -v: ruby 2.0.0p343 (2013-10-31) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN This case: x = "world" y = :"hello#{world}!" allocates one T_STRING according to ObjectSpace.count_objects. Since all of the concatenation happens as part of the symbol generation, it shouldn't be necessary to create a Ruby string. -- http://bugs.ruby-lang.org/