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.
Professional software developer and architect since 2000, Roi's main focus throughout his career was on high performance and distributed systems, and on implementing complex and innovative algorithms. Roi has been the VP technologies of Istra Research since 2014, where he helps the development of 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.