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.

Reply via email to