#!/usr/bin/ruby
# -*- mode: ruby -*-
# $Id: wc-ruby.code,v 1.4 2004/11/13 07:43:32 bfulgham Exp $
# http://www.bagley.org/~doug/shootout/
# with help from Paul Brannan

50.times do

  input = open(File.join(File.dirname($0), 'wc.input'), 'rb')

  nl = nw = nc = 0
  while true
    data = (input.read(4096) or break) << (input.gets || "")
    nc += data.length
    nl += data.count("\n")
    ((data.strip! || data).tr!("\n", " ") || data).squeeze!
    #nw += data.count(" ") + 1
  end

end
# STDERR.puts "#{nl} #{nw} #{nc}"


#!/usr/bin/ruby
# -*- mode: ruby -*-
# $Id: wc-ruby.code,v 1.4 2004/11/13 07:43:32 bfulgham Exp $
# http://www.bagley.org/~doug/shootout/
# with help from Paul Brannan

500.times do

  input = open(File.join(File.dirname($0), 'wc.input'), 'rb')

  nl = nw = nc = 0
  while true
    data = (input.read(4096) or break) << (input.gets || "")
    nc += data.length
    nl += data.count("\n")
    ((data.strip! || data).tr!("\n", " ") || data).squeeze!
    #nw += data.count(" ") + 1
  end

  input.close

end
# STDERR.puts "#{nl} #{nw} #{nc}"


Increase count to reduce effects of startup overhead, and close opened files so that even larger counts are runnable.
Increase count to reduce effects of startup overhead, and close opened files
so that even larger counts are runnable.
