Skip to content
This repository has been archived by the owner on Jan 25, 2022. It is now read-only.

Performance tutorial #123

Open
jfbastien opened this issue Jul 22, 2016 · 3 comments
Open

Performance tutorial #123

jfbastien opened this issue Jul 22, 2016 · 3 comments

Comments

@jfbastien
Copy link
Contributor

I'd like a section, maybe PERFORMANCE.md or in DISCUSSION.md, which explains the performance goals of this spec, and open areas which can help bridge the gap with native.

It'll be useful to evaluate the design, and point developers who have existing code so they can understand what performance to expect from:

  1. The current spec.
  2. Future revisions.
  3. Executing SAB code on different platforms.

For example:

  • Hazard Pointer or RCU won't perform well on weak order machines, but neither will they with C++ consume.
  • seqlock will likely have suboptimal behavior.
  • Acquire/release operations are missing (affecting e.g. mutex), but should be readily available in the future.

This can't be exhaustive, but would be useful in developing benchmarks for SAB, and helping developers try it out (especially, setting expectations).

@lars-t-hansen
Copy link
Collaborator

OK, good point. Some of what you're suggesting is out of scope for DISCUSSION.md (certainly "future work" would be completely speculative and does not belong there) but these points could be made:

  • cost of seq_cst atomics
  • why no acquire/release or relaxed

If you want to contribute a PERFORMANCE.md document that goes beyond that I'm happy to accept it.

@lars-t-hansen lars-t-hansen changed the title Performance Document some performance aspects Jul 22, 2016
@lars-t-hansen lars-t-hansen changed the title Document some performance aspects Performance tutorial Jul 22, 2016
@lars-t-hansen
Copy link
Collaborator

I beefed up DISCUSSION.md, leaving the bug open in case anyone feels called to provide a performance tutorial.

@jfbastien
Copy link
Contributor Author

Great start, ty. I may take a stab at more later.

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

2 participants