·çºñ - ÆÄÀÏÀÛ¼º½Ã 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°¡ ¸¹ÀÌ ºü¸£´Ù.

Âü°í·Î Å×½ºÆ®¿¡ »ç¿ëÇÑ ÄÚµå´Â ´ÙÀ½°ú °°´Ù.

begin

  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

2006-11-6 4:50 PM
permalink

Ä¿¸ÇÆ®¿Í Æ®·¢¹é rss (0)

Æ®·¢¹é ÁÖ¼Ò: http://codian.net/wp/archives/419/trackback/

Ä¿¸ÇÆ® ÀÛ¼º