Sha256: 9485e3167cb08afde6b90d3399947e783daa342907eaba61287182cd0c443816

Contents?: true

Size: 922 Bytes

Versions: 1

Compression:

Stored size: 922 Bytes

Contents

# = benchmarking.rb
#
# @author Rodrigo Fernández
#
# == Módulo Benchmarking
# Este módulo se encarga de medir el tiempo de ejecución de algunos bloques de código

require 'benchmark'
require 'i18n' # requirimiento de la gema to_duration
require 'to_duration'

# Se configura la ubicación del archivo de internacionalización de la gema to_duration
I18n.load_path << Dir[File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'config/locales') + "/*.yml"]
I18n.default_locale = :es

module Liri
  module Common
    module Benchmarking
      class << self
        def start(start_msg: nil, end_msg: 'Duración: ')
          print start_msg
          seconds = Benchmark.realtime do
            yield
          end
          print_result(end_msg, seconds)
        end

        private

        def print_result(msg, seconds)
          print "#{msg}#{seconds.to_duration}"
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
liri-0.1.0 lib/common/benchmarking.rb