Wolniejsza funkcja sleep w ruby 2.2

Witam,

  > sleep RUBY_VERSION.to_f

działa dużo wolniej na ruby 2.2niż na ruby 1.8ma ktoś jakiś pomysł? czy potzebuje skalowania?
pozdrawiam

3 Likes

czy masz uruchomiony garbage collector?

1 Like

ciekawe, spora różnica jest już między Ruby 1.9 i Ruby 2.1

1.9.3-p551 :005 > Benchmark.bm{|x| x.report { sleep(RUBY_VERSION.to_f) } }
user system total real
0.000000 0.000000 0.000000 ( 1.900123)

2.1.5 :002 > Benchmark.bm{|x| x.report { sleep(RUBY_VERSION.to_f) } }
user system total real
0.000000 0.000000 0.000000 ( 2.100181)

Wygląda jakby ta funkcja działała coraz wolniej…

1 Like

Jeśli użyjesz Railsów, to sleep działa jeszcze wolniej. Przy railsach 4.2 wywołanie:
sleep Rails::VERSION::STRING.to_f trwa prawie dwa razy dłuższej niż sleep RUBY_VERSION.to_f (sprawdzałem pod 2.2).

6 Likes