0
なぜソート後にハッシュの配列のメモリサイズが増えていますか?ソート後にハッシュ配列のメモリサイズが増えているのはなぜですか? (Rubyで)
たとえば、ハッシュの配列があります。私たちがその配列のメモリサイズを調べると、その値を返す値は44です。 今、配列に並べ替えを適用すると、そのメモリサイズが今大きくなります。 the documentationから直接
require 'objspace'
array = [{:a=>1, :b=>1}, {:a=>1, :b=>3}, {:a=>1, :b=>2}, {:a=>1, :b=>4}, {:a=>1, :b=>6}, {:a=>1, :b=>7}]
ObjectSpace.memsize_of(array)
>> 44
ObjectSpace.memsize_of(array.sort_by{|x| -x[:b]})
>> 68
sorted_array = array.sort_by{|x| -x[:b]}
>> [{:a=>1, :b=>7}, {:a=>1, :b=>6}, {:a=>1, :b=>4}, {:a=>1, :b=>3}, {:a=>1, :b=>2}, {:a=>1, :b=>1}]
ObjectSpace.memsize_of(sorted_array)
>> 68