Hi Ian/Russ, I should have clarified that I was doing goimports -l on a directory of go packages. I know that's atypical. Its definitely not 30 seconds on a single file. It is however slower on a single file.
Here are the numbers for a single file using the official goimports tool: goimports with go.mod: 101 milliseconds goimports without a go.mod: 19 milliseconds And Ian, here's the numbers for module aware go imports goimports (module aware) with a go.mod: 306 milliseconds goimports(module aware) without a go.mod: 73 milliseconds Russ in regards to reproducing the problem, here's my go.mod file: https://gist.github.com/jaloren/6a5908507794e2fec28c403af506855f. As for the input file, it doesn't matter what the go file is as long as the imports in the file are out of order. The slow down happens when goimports need to rearrange the imports so standard packages are on top and third party packages are on the bottom. Hope that helps. Joe On Thu, Nov 8, 2018 at 2:36 PM Russ Cox <r...@golang.org> wrote: > On Wed, Nov 7, 2018 at 7:43 PM Joseph Lorenzini <jalo...@gmail.com> wrote: > >> If have a go.mod, goimports takes 30 seconds to run. If I remove the >> go.mod, then goimports takes half a second to run. Is this expected? Is >> goimports trying to do something with the packages found in go.mod? Is >> there a way to configure goimports so it ignores go.mod? >> > > That's not supposed to happen. It's hard to say what's going on with so > little detail. > Can you give us a concrete go.mod and input.go file that causes 'goimports > input.go' to take 30 seconds? > > It looks like we dropped the ball and did not commit > https://go-review.googlesource.com/c/tools/+/128362/2/imports/fix.go, > which we should probably do. But that was about better results, not speed. > > Thanks. > Russ > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.