Короче говоря, это уменьшит размер, но вряд ли улучшит производительность, если ваш ключ в настоящее время является строкой, числом или символом, а не объектом.Если ваш ключ - модель или другой объект, я рекомендую изменить это, так как это увеличивает накладные расходы.Если мы говорим о разнице между:
{ my_very_long_key_or_something: “”}
Vs
{ 1447 => “” }
Тогда вы сохраняете количество байтов, равное количеству сокращенных символов.Таким образом, для записей 300 тыс., Сохранение 15 символов каждый будет 4,29 МБ.Если вы имеете дело с нехваткой памяти, и такая экономия является преимуществом, сделайте это.Я действительно рекомендую раскрыть ключи, чтобы сделать его понятным.
Опять же, при условии, что ваш ключ не является объектом;Ваши проблемы с чтением / записью, скорее всего, связаны с размером значения (для объектов или вложенных хэшей) или обработкой, которую вы применяете к хешу.Вы можете попробовать сравнительный анализ для сравнения производительности:
Benchmark.ms { my_hash.process }