pash
pash copied to clipboard
Understanding and reducing compilation overheads
The compiler seems to have non negligible overhead when dealing with large graphs (for very large widths, e.g., 200). It would be good to understand these overheads and determine if they can be reduced.
I would try to compile the nfa-regex script (https://github.com/binpash/pash/blob/main/evaluation/benchmarks/oneliners/nfa-regex.sh) with increasing widths to estimate overheads. The --dry_run_compiler flag could be used to not execute the compiled script but still compile it (it is pretty old so I am not sure if it still works).
The first step would be to understand which method calls of the compiler contribute mostly to the compilation overhead. The next step would be to reimplement some of them to minimize such overheads.