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

Multicore collapsing #120

Closed
jonhoo opened this issue Apr 9, 2019 · 3 comments
Closed

Multicore collapsing #120

jonhoo opened this issue Apr 9, 2019 · 3 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@jonhoo
Copy link
Owner

jonhoo commented Apr 9, 2019

In theory we should be able to slice the input to the collapse scripts into multiple pieces, collapse each piece independently (on different cores) and then merge the results. That would likely lead to significant speedups on multi-core machines, and would likely be worth investigating.

@jonhoo jonhoo added enhancement New feature or request help wanted Extra attention is needed labels Apr 9, 2019
@bcmyers
Copy link
Contributor

bcmyers commented Jun 5, 2019

After a long time away from Rust (and programming in general), I looked into this a bit today.

I was able to double throughput in the benchmarks for collapse-perf on my machine (from approx. 160 MiB /s to approx. 315 MiB/s) by tweaking the architecture to allow for multiple threads.

For some reason I can't pass the collapse_perf_cycles_instructions tests, though; so will need to polish what I have over the next couple of days and figure out why that set of tests is failing (while all the others seem fine).

Here's a link to the branch I've been working from: multicore-collapsing branch

@jonhoo
Copy link
Owner Author

jonhoo commented Jun 5, 2019

This is probably a better link to the diff for those who are curious: master...bcmyers:multicore-collapsing

@jonhoo
Copy link
Owner Author

jonhoo commented Jul 24, 2019

This has now landed in #128!

@jonhoo jonhoo closed this as completed Jul 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants