I was recently struggling with the parsing speed and finally found the bottleneck.
The root cause of slow performance is the expression evaluation
eval(Expr(:call, arr...))
which I replaced with
arr[1](arr[2:end]...)
I also did some minor rewrite but that's not a real speed gain (1%) whereas I could get a speed improvement of more than a factor of 10 for some files by removing the expression evaluation.
I was recently struggling with the parsing speed and finally found the bottleneck.
The root cause of slow performance is the expression evaluation
which I replaced with
I also did some minor rewrite but that's not a real speed gain (1%) whereas I could get a speed improvement of more than a factor of 10 for some files by removing the expression evaluation.