Jason,
Do you have any of the longer textile reference documents online in
textile source format.
I wanted to try benchmarking redcloth on them and comparing it to
what Maurico found benchmarking bluecloth.
see:
http://eigenclass.org/R2/writings/fast-extensible-simplified-markdown-in-ocaml
The markdown syntax document he is benchmarking is about 11k.
You can see my results duplicating the bluecloth results here:
http://gist.github.com/gists/91477
and in a graph:
Skitch | Evernote
I was curious how fast redcloth would be at a comparable task and
whether redcloth would also show non-linear processing times as the
input document got larger.
No, they’re all in individual entries in the CMS, but it shouldn’t
take me long to have it loop over them and dump as plain text…
<r:find url="/textile/">
<r:children:each><r:children:each>
<r:content part=“input” />
<r:children:each>
<r:content part=“input” />
</r:children:each></r:children:each>
</r:children:each>
</r:find>
Easy enough! The result is attached.
Thanks Jason,
Here are some interesting results testing in MRI 1.8.6 and JRuby.
Testing BlueCloth:
Testing RedCloth:
Interesting. Care to offer any interpretation?
Awesome. Thanks, Stephen!
At 9:41 PM -0400 4/13/09, Jason G. wrote:
Interesting. Care to offer any interpretation?
BlueCloth is much slower and the time for processing increases
quadratically as the input document get’s larger. I haven’t looked at
why.
RedCloth is about 15x faster and scales linearly – again I’m not
sure why but I like that behavior
When most of the processing time is spent in Ruby regex’s (bluecloth)
JRuby is about twice as fast.
Running RedCloth in JRuby however is only about 10% faster. From
previous benchmarking of Hpricot I suspect that the ragel code in
Java is just a bit slower than the C and the speedup is due to other
areas where JRuby is faster.
The context for the benchmarking is a blog post here:
http://eigenclass.org/R2/writings/fast-extensible-simplified-markdown-in-ocaml
Mauricio’s implementation of a simple markdown processor in OCaml
appears to be about 20x faster than RedCloth.
I’d like to know a good way of measuring “real” memory use when
running a benchmark like this in Ruby especially one that involves a
native library. Mauricio’s reports very low memory usage from his
OCaml implementation.