Sto cercando di utilizzare instaparse su un DIMACS il file meno di 700k in termini di dimensioni, con la seguente grammaticaUn modo per velocizzare l'instaparse?
<file>=<comment*> <problem?> clause+
comment=#'c.*'
problem=#'p\s+cnf\s+\d+\s+\d+\s*'
clause=literal* <'0'>
<literal>=#'[1-9]\d*'|#'-\d+'
chiamare in questo modo
(def parser
(insta/parser (clojure.java.io/resource "dimacs.bnf") :auto-whitespace :standard))
...
(time (parser (slurp filename)))
e sta prendendo un centinaio di secondi. Sono tre ordini di grandezza più lenti di quanto speravo. C'è un modo per velocizzarlo, un modo per modificare la grammatica o qualche opzione che mi manca?