符号字符串 symbol-fstring是Ruby扩展,提供对符号内部字符串表示形式的访问。 为什么? 在Ruby中,许多API倾向于接受符号,但是会定期在内部将其转换为字符串。 典型的示例是ActiveSupport::HashWithIndifferentAccess ,但还有很多。 问题在于, Symbol#to_s每次被调用时都会创建一个新的字符串,并且由于它经常发生在热点中,因此会导致垃圾收集器进行大量工作,并导致许多相同的字符串保留在内存中。 曾经,但不幸的是它已还原,相反 。 这个gem向后移植了较旧的Ruby的Symbol#name方法,并可选地允许将Symbol#to_s替换为Symbol#name 。 安装 将此行添加到应用程序的Gemfile中: gem 'symbol-fstring' 然后执行: $ bundle 或将其自己安装为: $ gem i