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

Reply via email to