Sha256: f43b22d15b0d467cfe114cbf19d65f3ed7e040ce8cf5379b04a9a48f0b7e58b1

Contents?: true

Size: 676 Bytes

Versions: 1

Compression:

Stored size: 676 Bytes

Contents

# frozen_string_literal: true

%w[lib benchmarks].each { |name| $LOAD_PATH.unshift(name) }

require 'benchmark/ips'
require 'lite/memoize'

class LiteMemoizeAliasCache

  extend Lite::Memoize::Alias

  def randomize
    rand(1..99)
  end

  memoize :randomize

end

class LiteMemoizeInstanceCache

  def cache
    @cache ||= Lite::Memoize::Instance.new
  end

  def randomize
    cache.memoize { rand(1..99) }
  end

end

class LiteMemoizeKlassCache

  extend Lite::Memoize::Klass

  def randomize
    rand(1..99)
  end

  memoize :randomize

end

class LiteMemoizeMixinCache

  include Lite::Memoize::Mixin

  def randomize
    memoize(:randomize) { rand(1..99) }
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lite-memoize-1.0.1 benchmarks/base.rb