Ruby 初心者スレッド Part 43

このエントリーをはてなブックマークに追加
132デフォルトの名無しさん
>むしろdupだとメモリ上の位置は動かないから省資源なんじゃないの?
ワシもそう思う博士

ということで、実際にやったほうが実感できそうなので実験
用意するもの、使用メモリ表示するマッスィーン(topとか)、使用メモリ表示に引っかかる程度に大きなファイル
irb で str = File.read(path);nil して arr = [] して str.dup.object_id や arr << str.dup; nil 連打
…メモリ変動なし
1.9.2 の irb にて、str = File.read(path);nil して arr = [] して str.dup.object_id や arr << str.dup; nil 連打
…メモリ表示は特に動かんな、っていうか1.8.7より微妙に動作速くないか気のせいか
dup.force_encoding('ASCII-8BIT') と dup.force_encoding('Shift_JIS') と dup.force_encoding('EUC-JP') を連打
まだ動かない
str.dup.force_encoding('Shift_JIS').valid_encoding?
まだ
str.dup.force_encoding('EUC-JP').valid_encoding?
まだまだ

結論
>>129
Ruby本体の提供するライブラリ的にはFUD
へちょい第三者ライブラリがあるのを否定はしないが