If we use the UserTiming marker type, then the user timing bar can optionally be displayed on the stack chart
Here's a sample usage:
require "vernier"
def sieve max
sieve = []
for i in 2 .. max
sieve[i] = i
end
for i in 2 .. Math.sqrt(max)
next unless sieve[i]
(i*i).step(max, i) do |j|
sieve[j] = nil
end
end
sieve.compact
end
Vernier.trace(out: "time_profile.json") { |v|
2.times.map {
Thread.new {
3.times do |i|
GC.start
v.record_interval "sieve", "Iteration #{i}" do
sleep 0.1
v.record_interval "sieve2", "Iteration #{i}" do
sieve(5000000)
end
end
end
}
}.map(&:join)
}
If we use the UserTiming marker type, then the user timing bar can optionally be displayed on the stack chart
Here's a sample usage: