From: why the lucky stiff Date: 2003-03-07T10:09:40+09:00 Subject: Syck YAML parser (was Re: XmlConfigFile usage) Hey Brian. I've been busting my hump on a YAML parser written in native C. The parser is called Syck and is located in the yaml4r CVS repository. I've also been documenting my progress on my weblog. I'm already a fair ways along. The tokenizer just needs to be completed. And I already have basic extensions for Ruby, Python and PHP. Syck is nearly as fast as Marshall. I use Marshall's technique for importing symbols directly into Ruby's symbol table. So the only speed difference is that my tokens are slightly more complicated than Marshals. Anyways, I'm very excited about this forthcoming YAML parser and don't want anyone to be too discouraged by the current parse times of YAML.rb. Sometime next week I'll post a comprehensive benchmark to the list. _why On Thursday 06 March 2003 05:23 pm, Brian Candler wrote: > > - using yaml4r the same ten operations take 10.6 seconds, although the > generated data is smaller at 3,396 bytes, and much easier to read > > - using Ruby's built-in Marshall.dump/load is staggeringly fast, taking > just 0.04 seconds for the same test, and generating 1,651 bytes to > represent the same object tree. > > I can hardly ignore a performance factor of 250 times... unfortunately if I > go with drb then I am tied to using Ruby for both front-end and back-end > systems. Hence I'll lose the flexibility to get (say) a PHP programmer to > write something which talks to it. > > Perhaps the solution is to forget SOAP, and to recode Ruby's native Marshal > module for Perl, PHP, Java etc :-))