Since the bugfix for #15 the plugin spends a lot of time looking for existing AST files, in big projects this can be ~1 minute (compared to ~20s to actually compile the parser....). This PR does a few optimizations:
collect the files only once, not once per compiler output file
scan the collection once per file
don't scan two overlapping collections, but only the disjoint parts
Since the bugfix for #15 the plugin spends a lot of time looking for existing AST files, in big projects this can be ~1 minute (compared to ~20s to actually compile the parser....). This PR does a few optimizations: