Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/tools/go/pointer: analysis not done concurrently #10895

Closed
DanielMorsing opened this issue May 18, 2015 · 4 comments
Closed

x/tools/go/pointer: analysis not done concurrently #10895

DanielMorsing opened this issue May 18, 2015 · 4 comments

Comments

@DanielMorsing
Copy link
Contributor

Tracing an oracle pointsto query shows that 3252ms out of 4583ms is spent doing pointer analysis and it is done entirely in one thread. Making some of the passes in the pointer analysis run in parallel should help with this.

@adonovan
Copy link
Member

adonovan commented Jun 3, 2015

Andersen's analysis is not easily parallelizable. There has been some recent work by Pingali's group at UT Austin on parallel (2010) and GPU-based (2012) implementations, but the implementation complexity is fearsome.

@alandonovan
Copy link
Contributor

If any speed freaks want to try to make the golang.org/x/tools/container/intset package faster, that would be a help.

@DanielMorsing
Copy link
Contributor Author

I'm thinking there's some gains to be had here, where the constraints are generated on a single goroutine https://github.com/golang/tools/blob/master/go/pointer/gen.go#L1296

@alandonovan
Copy link
Contributor

Yes, but the constraint generation is not the expensive part.

@golang golang locked and limited conversation to collaborators Feb 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants