Loading…
CppCon 2018 has ended
View analytic
Thursday, September 27 • 14:00 - 15:00
Design for Performance: Practical Experience

Sign up or log in to save this to your schedule and see who's attending!

This presentation is a "lessons learned" summary of some 20 years of experience designing, developing, and maintaining a large-scale commercial software system for the users who are primarily interested in performance. Competitive benchmarks are the dominant factor in our users' decisions whose tool to buy.

A high-quality implementation, a skillful optimization, can win the day in such environment. But only the day. The design determines the long-term survival. Parts of the system have grown ten-fold in size and complexity, but still fundamentally use the original architecture and show no sign of strain. Others had to be radically redesigned or even rewritten from scratch. The designs of the former type tend to share certain characteristic properties, which we came to recognize. These are design patterns of high-performance software, at least in our experience. The design of the latter type, unfortunately, exhibit an infinite variety of poor decisions, although some mistakes (anti-patterns?) are repeated over and over.

In this presentation, I will show the most important patterns and practices of design for performance that I have learned. Some will be obvious, especially after you hear them. Others may be controversial (for example, sometimes you should optimize prematurely if you want to be able to optimize at all). I may even present some of the anti-patterns, but only for laughs and to make the listeners feel better about their own design mistakes.

Speakers
avatar for Fedor Pikus

Fedor Pikus

Chief Scientist, Siemens
Fedor G Pikus is a Chief Engineering Scientist in the Design to Silicon division of Mentor Graphics Corp (Siemens business). His earlier positions included a Senior Software Engineer at Google and a Chief Software Architect for Calibre PERC, LVS, DFM at Mentor Graphics. He joined... Read More →


Thursday September 27, 2018 14:00 - 15:00
Breckenridge Hall (1st Floor)

Attendees (417)