Loading...

GeeCON 2019: Tomasz Kowalczewski - Is writing performant code too expensive?

96 views

Loading...

Loading...

Transcript

The interactive transcript could not be loaded.

Loading...

Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Jul 24, 2019

While compute becomes faster and cheaper we are tempted to abandon sanity and shield ourselves from reality and laws of physics. The resulting mess of monstrous Slack instances rampaging across our RAM should makes us stop (because our computers did it already) and wonder where did we go wrong? Rising developer salaries and time to market pace are tempting us to abandon all hope for optimising our code and understanding our systems. Contrary to what casual reader could think this is a deeply technical presentation. We will gaze into hardware counters, NUMA nodes, vector registers and that darkness will stare back at us. All this to get a taste of what is possible on current hardware, to learn the COST of scalability and forever change how you feel when accessing invoice list in your local utilities provider UI so that after 20s of waiting all 12 elements will be displayed (surely Cthulhu must be eating their compute because it is NOT possible Tauron hosts it’s billing services on FIRST GEN IPHONE). Key takeaways:
- Software (esp. backend) is only a small part of a successful product.
- Many successful companies strive to validate features early which leaves little time for good engineering and performance work
- There are, however cases when optimization can provide 10-100x speed up which brings tremendous value to products and clients
- To identify such opportunities we need to have good intuition about what hardware and proper algorithms can do
- Memory bandwidth per core for AMD EPYC and Intel Xeon systems
- How branch predictor affects performance and how to work around it
- Memory access patterns impact on performance and how to invert them

Loading...


to add this to Watch Later

Add to

Loading playlists...