Skip to content

Latest commit

 

History

History
71 lines (56 loc) · 4.74 KB

README.md

File metadata and controls

71 lines (56 loc) · 4.74 KB

No Sane Compiler Would Optimize Atomics

Abstract

False.

Compilers do optimize atomics, memory accesses around atomics, and utilize architecture-specific knowledge. My hobby is to encourage compilers to do more of this, programmers to rely on it, and hardware vendors to give us new atomic toys to optimize with. Oh, and standardize yet more close-to-the-metal concurrency and parallelism tools.

But, you say, surely volatile always means volatile, there’s nothing wrong with my benign races, nothing could even go wrong with non-temporal accesses, and who needs 6 memory orderings anyways‽ I’m glad you asked, let me tell you about my hobby…

Talk Details

This talk is based on a paper I wrote for the C++ standards committee, no sane compiler would optimize atomics (abstract: false). The title and abstract are such perfectly flippant clickbait, yet you won't believe how there's actual content hiding behind the snark!

View the presentation: jfbastien.github.io/no-sane-compiler (press S for speaker notes, use and to navigate backward / forward).

Video

The talk was given at CppCon 2016 and is available on YouTube.

It was previously given at C++Now 2016, is also on YouTube but the recording isn't great.

References

A (non-comprehensive) list of references that went into creating this talk.

Meta

Built using reveal.js.