Seberapa Cepat Tuning Kembang Kempis Denyut Nadi Code Ruby Anda

Posted: July 30, 2009 in RUBY
Tags: , , ,

Ada banyak cara untuk melakukan penghitungan akan seberapa cepat codes Anda. Skenario disini bentuknya adalah codes, jadi bukan berupa produk (misalkan kalau produknya web, bisa saja memakai tool seperti ab ataupun jmeter). Disini saya akan menunjukkan cara yang sederhana namun sangat aplikatif di dunia industri Teknologi Informasi.

Misalkan Anda ingin memilih codes mana yang paling ideal untuk me-listing isi direktori. Mau pakai rio, Dir new lalu di iterate, atau pakai Dir foreach saja ?

Berikut codes benchmarknya, disini filenya saya beri nama saja lsdir.rb

#!/usr/bin/env ruby

require 'benchmark'

n = 1_000_000

Benchmark.bm(7) do |x|
  x.report('rio:              ') do 
    %w{rubygems rio}.each { |e| require e }
    rio('/tmp/belajarbash/').files { |e| p e }
  end
  x.report('dir each:         ') do 
    dir = Dir.new('/tmp/belajarbash')
    dir.each { |e| p e }
  end
  x.report('dir foreach:      ') do 
    Dir.foreach('/tmp/belajarbash').each { |e| p e }
  end
end

sekarang tinggal dijalankan deh.

arie@paris:~/Desktop/desktop-rubbish/benchmark$ ruby lsdir.rb 
             user     system      total        real
rio:              #
  0.380000   0.080000   0.460000 (  0.454018)
dir each:         "."
".."
"1"
  0.000000   0.000000   0.000000 (  0.000055)
dir foreach:      "."
".."
"1"
  0.000000   0.000000   0.000000 (  0.000050)

Nah sekarang Anda tau codes yang mana yang paling ideal untuk Anda pakai :-)

Selamat bersenang-senang dengan Ruby!

Comments are closed.