Compile times are not great #46

Open
opened 2022-06-15 21:22:52 +00:00 by bvisness · 0 comments
Owner

Our compile times are really somewhat poor. It would be really nice for dev workflows if we could improve that.

At the moment it seems that the biggest contributor is wellington/go-libsass.

With go-libsass:

$ go clean --cache
$ time go build src/main.go

real	1m13.183s
user	1m56.544s
sys	0m14.273s
$ time go build src/main.go

real	0m0.717s
user	0m0.725s
sys	0m1.045s

After removing go-libsass:

$ go clean --cache
$ time go build src/main.go

real	0m14.390s
user	1m1.786s
sys	0m11.208s
$ time go build src/main.go

real	0m0.651s
user	0m0.692s
sys	0m0.997s

That's a pretty stark difference, I'd say. That said, this is still obviously not particularly fast.

Taking care of #8 will have a big impact here, but there are probably other improvements to be made. For starters, is there any way of timing which Go packages take the longest to compile? I think that would be a good first step.

Our compile times are really somewhat poor. It would be really nice for dev workflows if we could improve that. At the moment it seems that the biggest contributor is [wellington/go-libsass](https://github.com/wellington/go-libsass). With go-libsass: ``` $ go clean --cache $ time go build src/main.go real 1m13.183s user 1m56.544s sys 0m14.273s $ time go build src/main.go real 0m0.717s user 0m0.725s sys 0m1.045s ``` After removing go-libsass: ``` $ go clean --cache $ time go build src/main.go real 0m14.390s user 1m1.786s sys 0m11.208s $ time go build src/main.go real 0m0.651s user 0m0.692s sys 0m0.997s ``` That's a pretty stark difference, I'd say. That said, this is still obviously not particularly fast. Taking care of #8 will have a big impact here, but there are probably other improvements to be made. For starters, is there any way of timing which Go packages take the longest to compile? I think that would be a good first step.
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: hmn/hmn#46
No description provided.