So.

I've spent the last few days doing a major reworking on RbYAML. I've rewritten the parser completely, and changed some other stuff too. Right now I'm in a profiling/optimization-cycle for the load-path, and it looks pretty promising. Right now the loading is about 10-15% slower than the JRuby racc-based parser, but I believe I can actually get ahead of it soon. AND RbYAML actually does a few things that Syck nor JRuby-yaml can do.

One of the benefits of rewriting the parser is that the former one was a recursive-descent LL(1), whereas the new one is hybrid table-driven LL(1), with almost no use of stacks at all. And it's also in a generator format, so that the higher levels can request events when needed, instead of creating all events in one sweep and then keep them in memory. What this means is that the memory requirements are fairly smalled, compared to JRuby-yaml.

I will continue this work today and tomorrow, but as of right now I feel we can integrate it with JRuby as soon as you guys like.

(Another benefit from the rewrite: RbYAML is completely modular, so we can replace the Ruby scanner with a Java-based scanner, and probably get way better performance this way, since the scanner is the most intense part of RbYAML)

Regards
 Ola Bini




-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Jruby-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jruby-devel

Reply via email to