Hi Shawn, I don't think Go Report Card is particularly slow, but I have two ideas:
1. Try running the different checks within the process, using the Go API. This should reduce the overhead of creating x processes per report card. But I don't know if every check has an easy to use Go API. 2. Try mounting the source code using tmpfs. Using in memory files the reading of them should be a bit quicker. This does however require more memory of course. If that doesn't work, try profiling your code: https://blog.golang.org/profiling-go-programs. Good luck. Thomas Op vrijdag 2 september 2016 15:50:58 UTC+2 schreef Shawn Smith: > > Hi, > > I'm one of the maintainers of Go Report Card http://goreportcard.com/ and > I am looking for advice on how to make it faster. > > Basically we run a series of checks (gofmt, vet, etc.) on your Go > repository and provide a grade based on how many errors each check returns. > Each check runs in a separate goroutine ( > https://github.com/gojp/goreportcard/blob/master/handlers/checks.go#L124), > and they are all shelling out using exec.Command ( > https://github.com/gojp/goreportcard/blob/master/check/utils.go#L170). > > The server we run this on is a Digital Ocean droplet with 1 GB of RAM > (would upgrading it help?) > > We normally only see issues on repositories with a very large number of > files. > > Any help/feedback is appreciated! > Shawn > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
