SORU
2 Aralık 2009, ÇARŞAMBA


Tek tırnak kullanarak bir performans artışı vs çift tırnak ruby var mı?

Eğer ruby tek tırnak yerine çift tırnak kullanarak ve ruby 1.9 1.8 olarak anlamlı bir şekilde performans düşüyor biliyor musunuz.

eğer öyleyse ben yazın

question = 'my question'

daha hızlı daha iyidir

question = "my question"

Ruby ise bir çift tırnak bulduğu ve muhtemelen bazı döngüleri sadece bunu yaparken geçirdiği değerlendirilmesi gerekir anlamaya çalışır hayal ediyorum.

CEVAP
3 Aralık 2009, PERŞEMBE


$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.0.0]

$ cat benchmark_quotes.rb
# As of Ruby 1.9 Benchmark must be required
require 'benchmark'

n = 1000000
Benchmark.bm(15) do |x|
  x.report("assign single") { n.times do; c = 'a string'; end}
  x.report("assign double") { n.times do; c = "a string"; end}
  x.report("concat single") { n.times do; 'a string '   'b string'; end}
  x.report("concat double") { n.times do; "a string "   "b string"; end}
end

$ ruby benchmark_quotes.rb 

                      user     system      total        real
assign single     0.110000   0.000000   0.110000 (  0.116867)
assign double     0.120000   0.000000   0.120000 (  0.116761)
concat single     0.280000   0.000000   0.280000 (  0.276964)
concat double     0.270000   0.000000   0.270000 (  0.278146)

Not: bu yeni Ruby sürümleri ile çalışması için güncelledik ve Başlığı temizledi ve daha hızlı bir sistem. kriter çalıştırmak

Bu cevap bazı önemli noktaları atlar. Tek vs çift tırnak kullanırken özellikle bu diğer cevaplar interpolation ilgili ve nedeni there is no significant difference in performance bkz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dirkgently1

    dirkgently1

    13 NİSAN 2006
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • happyjpy

    happyjpy

    22 AĞUSTOS 2009