Sha256: a9e300aebc893f62037603ffe94c4a7e14ad62bd9950dd0a1e7815f4317f47f7
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require "test_helper" require "benchmark" class PerformanceTest < ActiveSupport::TestCase include Hiccup { 100 => 50, 500 => 50, 1000 => 50 }.each do |number, expected_duration| should "generated guesses from #{number} dates in under #{expected_duration}ms" do guesser = Hiccup::Inferable::Guesser.new(Hiccup::Schedule) dates = (0...number).map { |i| Date.new(2010, 1, 1) + i.week } duration = Benchmark.ms { guesser.generate_guesses(dates) } # puts "\e[33m\e[1m#{number}\e[0m\e[33m dates took \e[1m%.2fms\e[0m" % duration assert duration <= expected_duration, "It took %.2fms" % duration end end # Inferring 500 dates still takes 10 seconds. # It spends 7.3 of those seconds predicting dates, # 6.9 of those predicting monthly or weekly dates. { 10 => 0.1.seconds, 50 => 0.5.seconds, 100 => 1.0.seconds }.each do |number, expected_duration| should "infer a schedule from #{number} dates in under #{expected_duration} second(s)" do dates = (0...number).map { |i| Date.new(2010, 1, 1) + i.week } duration = Benchmark.ms { Schedule.infer(dates, verbosity: 0) } / 1000 assert duration <= expected_duration, "It took %.2f seconds" % duration end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hiccup-0.6.1 | test/performance_test.rb |
hiccup-0.6.0 | test/performance_test.rb |