·çºñ - ÆÄÀÏÀÛ¼º½Ã print¿Í writeÀÇ ¼º´É ºñ±³
10¸Þ°¡ Å©±âÀÇ ÆÄÀÏÀ» IO::print¸Þ¼Òµå¿Í IO::write¸¦ »ç¿ëÇØ ¼º´ÉÀ» ºñ±³ÇÑ °á°ú,
OSX(on macbook)¿¡¼´Â
write => 7.21ÃÊ
print => 8.43ÃÊ
WindowsXP (on parallels/macbook)¿¡¼´Â
write => 12.82ÃÊ
print => 14.83ÃÊ
IO::write°¡ ¸¹ÀÌ ºü¸£´Ù.
Âü°í·Î Å×½ºÆ®¿¡ »ç¿ëÇÑ ÄÚµå´Â ´ÙÀ½°ú °°´Ù.
size = 1024 * 1024 * 10
filepath = "test.dat"
now = Time.now
f = File.open filepath, File::CREAT | File::TRUNC | File::WRONLY
(0...size).each do |num| f.write("\x0") end
f.close
raise unless File.size(filepath) == size
puts Time.now - now
now = Time.now
f = File.open filepath, File::CREAT | File::TRUNC | File::WRONLY
(0...size).each do |num| f.print("\x0") end
f.close
raise unless File.size(filepath) == size
puts Time.now - now
rescue
puts $!.inspect
puts $!.backtrace.join("\n")
end
permalink
