Sha256: 1bf242b30bdd5262806d0b5685a0a56f04c343e666eaca7c819c60d26c8a2bb1

Contents?: true

Size: 997 Bytes

Versions: 9

Compression:

Stored size: 997 Bytes

Contents

# encoding: UTF-8
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/..')
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')

require 'rubygems'
require 'net/http'
require 'rest_client'
require 'streamly'
require 'yajl'
require 'benchmark'

url = ARGV[0]

Benchmark.bmbm do |x|
  parser = Yajl::Parser.new
  parser.on_parse_complete = lambda {|obj| }
  x.report do
    puts "Streamly"
    (ARGV[1] || 1).to_i.times do
      Streamly.get(url) do |chunk|
        parser << chunk
      end
    end
  end

  parser = Yajl::Parser.new
  parser.on_parse_complete = lambda {|obj| }
  x.report do
    puts "Shell out to curl"
    (ARGV[1] || 1).to_i.times do
      parser.parse `curl -s --compressed #{url}`
    end
  end

  parser = Yajl::Parser.new
  parser.on_parse_complete = lambda {|obj| }
  x.report do
    puts "rest-client"
    (ARGV[1] || 1).to_i.times do
      parser.parse RestClient.get(url, {"Accept-Encoding" => "identity, deflate, gzip"})
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
streamly_ffi-0.2.6 benchmark/streaming_json_request.rb
streamly_ffi-0.2.4 benchmark/streaming_json_request.rb
streamly_ffi-0.2.3 benchmark/streaming_json_request.rb
streamly_ffi-0.2.2 benchmark/streaming_json_request.rb
streamly_ffi-0.2.1 benchmark/streaming_json_request.rb
streamly_ffi-0.2.0 benchmark/streaming_json_request.rb
streamly_ffi-0.1.6 benchmark/streaming_json_request.rb
streamly_ffi-0.1.5 benchmark/streaming_json_request.rb
streamly-0.1.4 benchmark/streaming_json_request.rb