Looking for textile reference in textile source for benchmarking


#1

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:

http://img.skitch.com/20090408-fp1sxu3fu7dm4296kqrmskgaqt.png

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.


#2

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.


#3

Thanks Jason,

Here are some interesting results testing in MRI 1.8.6 and JRuby.

Testing BlueCloth:

http://img.skitch.com/20090411-fp1sxu3fu7dm4296kqrmskgaqt.png

Testing RedCloth:

http://img.skitch.com/20090411-5is73f52ftck2h3pyiiyjiu2m.png


#4

Interesting. Care to offer any interpretation?


#5

Awesome. Thanks, Stephen!


#6

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 :wink:

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.