Oh, I know PRD can be slow. I think my full Verilog grammar was measured in "lines of verilog per minute" or something.
I'm just surprised, shocked really, that Parse::Gnaw didn't turn out to be even slower than Parse::RecDescent. In Parse::Gnaw, I pull the text apart into a linked list with one letter per link, then basically parse through the list one link/letter at a time. I was resigned to the idea that that would be an extremely slow way to do it and I'd have to figure out a way to speed it up. Actually, the first time I ran benchmark, the results came back that Parse::Gnaw was 4 times slower than Parse::RecDescent. And I kind of resigned myself to a lot of work and only maybe would I be able to match PRD's speed. But there was a bug in the grammars, so PRD wasn't actually parsing anything. When I fixed that, and made sure both grammars were actually parsing, that's when I got the "PG is 2 to 3 times faster than PRD" result. So then I just assumed that I was reading the benchmark numbers wrong. Guess I'll have to work on some more benchmarks. Greg "I'm shocked, shocked to find that gambling is going on in here!" London > >>> [3x] is really surprising to me. > >> "The generated parsers don't always run as fast as might be wished." > > I think Greg is surprised it's ONLY 3x faster, given PRD's notorious > time for expressivity trade. > > Either Greg needs a bigger test case ... One where PRD is taking > multiple seconds to answer ... Or some tweaking. > > Bill @ $DayJob > > -- _______________________________________________ Boston-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/boston-pm

