]> git.wincent.com - wikitext.git/commit
Replace more rb_str_append calls with rb_str_cat
authorWincent Colaiuta <win@wincent.com>
Tue, 5 Feb 2008 11:25:26 +0000 (12:25 +0100)
committerWincent Colaiuta <win@wincent.com>
Tue, 5 Feb 2008 11:25:26 +0000 (12:25 +0100)
commita5954dc1aefe5a06102c160eb6b8c2b72925b08e
tree6e105b818722905b1dd6fdaa6fb51e703c8de9c7
parente116b3fa4eafefb3fd0ba31b630a322be07bd341
Replace more rb_str_append calls with rb_str_cat

This time for token text, and it yields an even bigger speed-up. Before:

  short slab of ASCII text    2.380000   0.010000   2.390000 (  2.461861)
  short slab of UTF-8 text    4.860000   0.000000   4.860000 (  5.016289)

After:

  short slab of ASCII text    1.570000   0.010000   1.580000 (  1.705596)
  short slab of UTF-8 text    3.280000   0.020000   3.300000 (  3.353919)

So that one change alone cuts 33% off the execution time. The combined
scanner/parser is now nearly 8 times faster than it was under ANTLR
and nearly 3 times faster than it was after the move to Ragel but before
I started optimizing the parser.

Signed-off-by: Wincent Colaiuta <win@wincent.com>
benchmarks/NOTES.txt
ext/parser.c
ext/token.h