From 3d8868dd0b9898d589ecdff5151ed5d47956f937 Mon Sep 17 00:00:00 2001 From: murphy Date: Sat, 1 Oct 2005 06:04:52 +0000 Subject: Demos updated, rewritten, enhanced, tested. Some code cleanups. Bugs fixed, scanner and encoder improved: count.rb: marked Streamable html_css.rb: style for inline numbers html.rb: changed options; :line_numbers_offset is now :line_number_start html_output.rb: offset for inline numbers fixed html.rb: token text no longer changed by gsub! while highlighting (this is even faster!) text.rb, plugin.rb: reindented ruby.rb: eleminated multiple assignments for speed tokens.rb: reindented, Tokens#to_s added, #<< returns self Plugin system: bugs fixed, error messages improved. --- demo/demo_stream.rb | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'demo/demo_stream.rb') diff --git a/demo/demo_stream.rb b/demo/demo_stream.rb index b1d8560..7ed8a22 100644 --- a/demo/demo_stream.rb +++ b/demo/demo_stream.rb @@ -1,8 +1,25 @@ -$: << '..' require 'coderay' -e = CodeRay.encoder(:html) -t = e.encode_stream('a LOT of :code', :ruby) +code = File.read($0) * 500 +puts "Size of code: %d KB" % [code.size / 1024] -puts t -p t.class +puts "Use your system's memory tracker to see how much RAM this takes." +print 'Press some key to continue...'; gets + +require 'benchmark' +e = CodeRay.encoder(:div) +for do_stream in [true, false] + puts "Scanning and encoding in %s mode, please wait..." % + [do_stream ? 'streaming' : 'normal'] + output = '' + time = Benchmark.realtime do + if do_stream + output = e.encode_stream(code, :ruby) + else + output = e.encode_tokens(t = CodeRay.scan(code, :ruby)) + end + end + puts 'Finished after %4.2f seconds.' % time + puts "Size of output: %d KB" % [output.size / 1024] + print 'Press some key to continue...'; gets +end -- cgit v1.2.1