I will add that I regularly see goimports with modules take many seconds to run. I'm using acmego and I sometimes end up needing to switch that off because it corrupts text seconds after a save.
On Fri, 9 Nov 2018, 3:26 pm Joseph Lorenzini <jalo...@gmail.com wrote: > 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. > -- 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.