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

  • Bokeh

    Bokeh

    9 HAZİRAN 2014
  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • metal571

    metal571

    30 Mayıs 2006