[erlang-questions] speed of neotoma parser

Max Lapshin max.lapshin@REDACTED
Wed Nov 11 21:48:34 CET 2015


Our Flussonic is using neotoma to parse our own config.

Neotoma creates parser, this parser reads text config.

It was great, users were really happy when we changed from erlang syntax to
our own syntax, but now time to pay came.

One user came with 280 KB config file (written by hands, yes). Neotoma
parser parses it during 45 seconds.

We've met with this problem earlier in our pulsedb library, when we changed
very small (one screen) parser from neotoma to yecc and got 50-100 times
speedup.

Now it is not easy to do it, because our config parser takes about 1000
lines of peg file.

I don't undertand what is the problem with speed of neotoma parser:
1) is it a nature of state machines that it generate?
2) is it a forgotten switch [{disable_slow,true}] in options?
or is it something else?

Maybe there is a simple thing that we can do with neotoma for it to
generate faster parser?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20151111/1e5e4af4/attachment.htm>


More information about the erlang-questions mailing list