Send_file VS. send_data (performance)


Does anybody know if there is a big performance/time cost difference
between these two methods of serving a file:

------------------------------- #1

send_file “test.png”, :type => ‘image/png’, :disposition => ‘inline’

content = ‘’“test.png”, “rb”) do |f|
f.each_line { |line| content += line }
send_data content, :type => ‘image/png’, :disposition => ‘inline’

Are there any other methods? Can method #2 get faster by reading the
entire file in one sweep (as opposed to read line by line)?

Thanx in advance,


Hi Daniel

Try the ruby profile library

You should be able to get this to show the time spent in each method. A
simple test should show which one is faster.