Skip to content

Commit

Permalink
Added basic benchmarking [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
ankane committed Feb 20, 2021
1 parent de2f05e commit 2449811
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,55 @@ Rake::TestTask.new do |t|
t.pattern = "test/**/*_test.rb"
t.warning = false # for daru
end

# TODO use benchmark-ips
def benchmark_user_recs(name, recommender)
ms = Benchmark.realtime do
recommender.user_ids.each do |user_id|
recommender.user_recs(user_id)
end
end
puts "%-8s %f" % [name, ms]
end

# TODO use benchmark-ips
def benchmark_item_recs(name, recommender)
ms = Benchmark.realtime do
recommender.item_ids.each do |item_id|
recommender.item_recs(item_id)
end
end
puts "%-8s %f" % [name, ms]
end

namespace :benchmark do
task :user_recs do
require "bundler/setup"
Bundler.require
require "benchmark"

data = Disco.load_movielens
recommender = Disco::Recommender.new
recommender.fit(data)

benchmark_user_recs("none", recommender)
recommender.optimize_user_recs
benchmark_user_recs("faiss", recommender)
end

task :item_recs do
require "bundler/setup"
Bundler.require
require "benchmark"

data = Disco.load_movielens
recommender = Disco::Recommender.new
recommender.fit(data)

benchmark_item_recs("none", recommender)
recommender.optimize_item_recs(library: "ngt")
benchmark_item_recs("ngt", recommender)
recommender.optimize_item_recs(library: "faiss")
benchmark_item_recs("faiss", recommender)
end
end

0 comments on commit 2449811

Please sign in to comment.