Aliasing
Risks, Opportunities and Techniques
The notion of *aliasing* in C++ is one of the trickiest legacy attributes inherited from C. Prevalent when writing object-oriented code, it can cause hard-to-spot functional bugs and far-too-common performance penalties.
In this talk we'll learn where aliasing appears, how impactful it can be, and how we can avoid it when needed. We'll also see when we might harness it to our advantage when appropriate.
We'll see and understand various examples of unexpected behavior and performance, and learn to inspect our code for common aliasing pitfalls.
We'll learn the details of *strict aliasing* rules, and use them to understand how to use get the compiler to understand what we mean. We'll understand how strong-typedefs, value-based design and various potential standards-proposals can be used to make our code more readable and more expressive.
Roi Barkan
Professional software developer and architect since 2000, Roi's main focus throughout his career was on high performance and distributed systems, implementing complex and innovative algorithms. Roi has been the VP technologies of Istra Research since 2014, where he helps creating low latency financial systems. Prior to working for Istra Research, Roi spent 12 years in software development, architecture and management in the IT Security field. Roi received his B.A in Computer Science with high honors from the Technion in Israel, and his executive MBA from Tel Aviv University.