On Friday, September 2, 2016 at 6:50:58 AM UTC-7, Shawn Smith wrote: > > 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 >
Insufficient data to provide a meaningful answer. A question about performance problems with no information about the runtime behavior of a system is bound to receive general guesses at best. That said, here are some general guesses, with hints as to figure out which cause is the real one: - Is the CPU maxed out? Then probably you need more CPU, or need to make gofmt, vet, etc. faster, or do fewer analyses. - Is the resident memory maxed out? Then you are probably hitting swap, which is slow. Get more memory or reduce your working set. - Otherwise, there's a good chance it's IO. There are a lot of potential solutions here depending on which specific IO constraint is causing the problem. -- 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.
