1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
# Some classes used in measurement tests
require 'singleton'
module RubyProf
class C1
def C1.sleep_wait
sleep(0.1)
end
def C1.busy_wait
starting = Process.clock_gettime(Process::CLOCK_MONOTONIC)
while (Process.clock_gettime(Process::CLOCK_MONOTONIC) - starting) < 0.1
end
end
def sleep_wait
sleep(0.2)
end
def busy_wait
starting = Process.clock_gettime(Process::CLOCK_MONOTONIC)
while (Process.clock_gettime(Process::CLOCK_MONOTONIC) - starting) < 0.2
end
end
end
module M1
def sleep_wait
sleep(0.3)
end
def busy_wait
starting = Process.clock_gettime(Process::CLOCK_MONOTONIC)
while (Process.clock_gettime(Process::CLOCK_MONOTONIC) - starting) < 0.3
end
end
end
class C2
include M1
extend M1
end
class C3
include Singleton
def sleep_wait
sleep(0.3)
end
def busy_wait
starting = Process.clock_gettime(Process::CLOCK_MONOTONIC)
while (Process.clock_gettime(Process::CLOCK_MONOTONIC) - starting) < 0.2
end
end
end
end
|