diff options
author | murphy <murphy@rubychan.de> | 2005-10-01 06:04:52 +0000 |
---|---|---|
committer | murphy <murphy@rubychan.de> | 2005-10-01 06:04:52 +0000 |
commit | 3d8868dd0b9898d589ecdff5151ed5d47956f937 (patch) | |
tree | 19a1ed947e24145818d483b3c0211a44d10f557f /demo/demo_stream.rb | |
parent | c194637b0d9af5ee756c5efa0942fe8cc09769e5 (diff) | |
download | coderay-3d8868dd0b9898d589ecdff5151ed5d47956f937.tar.gz |
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.
Diffstat (limited to 'demo/demo_stream.rb')
-rw-r--r-- | demo/demo_stream.rb | 27 |
1 files changed, 22 insertions, 5 deletions
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
|