Issue #9143 has been updated by avit (Andrew Vit). Note, this can be worked around by doing `csv.header_converters << proc{|h| h.freeze }` but I think there should be some built-in optimization for this. ---------------------------------------- Feature #9143: Optimize CSV to share hash key objects between rows https://bugs.ruby-lang.org/issues/9143#change-43092 Author: avit (Andrew Vit) Status: Open Priority: Normal Assignee: Category: lib Target version: Currently, when CSV headers are strings, then each row receives a copy of the strings for hash keys. This patch is an optimization to share the same frozen string keys between all rows. Please verify: in the implementation of `Hash::[]`, are strings the only object that is dup'd, or should other types be frozen so they aren't copied for each row too? -- http://bugs.ruby-lang.org/