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.

Reply via email to