#!/usr/bin/env ruby # frozen_string_literal: true # Trap interrupts to quit cleanly. See # https://twitter.com/mitchellh/status/283014103189053442 Signal.trap('INT') { abort } require 'bundler/setup' require 'benchmark/ips' require 'sidekiq-unique-jobs' ITERATIONS ||= 10_000 Benchmark.ips do |x| x.config(time: 5, warmup: 2) x.report('new_shit') do |_times| SidekiqUniqueJobs::Scripts.call(:acquire_lock, nil, keys: [SecureRandom.hex], argv: [SecureRandom.hex]) end x.compare! end