diff options
Diffstat (limited to 'trunk/benchmark/bm_so_count_words.rb')
-rw-r--r-- | trunk/benchmark/bm_so_count_words.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/trunk/benchmark/bm_so_count_words.rb b/trunk/benchmark/bm_so_count_words.rb new file mode 100644 index 0000000000..65f6337a4a --- /dev/null +++ b/trunk/benchmark/bm_so_count_words.rb @@ -0,0 +1,19 @@ +#!/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 + +input = open(File.join(File.dirname($0), 'wc.input'), 'rb') + +nl = nw = nc = 0 +while true + tmp = input.read(4096) or break + data = tmp << (input.gets || "") + nc += data.length + nl += data.count("\n") + ((data.strip! || data).tr!("\n", " ") || data).squeeze! + nw += data.count(" ") + 1 +end +# STDERR.puts "#{nl} #{nw} #{nc}" + |