Sha256: d064f89ca3261c8c27921c9ca1efba6676d6f8b2e40b3761e4a7379d3b17311d

Contents?: true

Size: 652 Bytes

Versions: 7

Compression:

Stored size: 652 Bytes

Contents

$:.unshift File.expand_path("../../lib", __FILE__)

require 'benchmark'
require 'daru'

df = Daru::DataFrame.new({
  a: [1,2,3,4,5,6]*100,
  b: ['a','b','c','d','e','f']*100,
  c: [11,22,33,44,55,66]*100
}, index: (1..600).to_a.shuffle)

Benchmark.bm do |x|
  x.report("where") do
    df.where(df[:a].eq(2) | df[:c].eq(55))
  end

  x.report("filter_rows") do
    df.filter(:row) do |r|
      r[:a] == 2 or r[:c] == 55
    end
  end
end

#             ===== Benchmarks =====
# 
#                user     system      total        real
# where        0.000000   0.000000   0.000000 (  0.002575)
# filter_rows  0.210000   0.000000   0.210000 (  0.205403)

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
daru-0.1.5 benchmarks/where_vs_filter.rb
daru-0.1.4.1 benchmarks/where_vs_filter.rb
daru-0.1.4 benchmarks/where_vs_filter.rb
daru-0.1.3.1 benchmarks/where_vs_filter.rb
daru-0.1.3 benchmarks/where_vs_filter.rb
daru-0.1.2 benchmarks/where_vs_filter.rb
daru-0.1.1 benchmarks/where_vs_filter.rb