Resolving dependencies takes the most time, since it needs to open a lot of files, do a lot of parsing, etc. If you're running on a large number of source files, this can take a significant amount of time if processed sequentially. Would a parallelized design / option be something gazelle is open to? where Resolve() can be called simultaneously, to make use of multiple CPU cores.