Tomasz Kowalczewski | Devoxx

Devoxx Poland 2019
from Monday 24 June to Wednesday 26 June 2019.

Tomek is Tech Lead at Codewise where he builds data processing systems for a living. Hating JPA, Hibernate and relational databases in general he decided to wait until these technologies become obsolete. In the meantime he worked on distributed systems with lots of traffic and no SLAs (but customers still complained). Realizing that microservices are the new databases he is now back in data processing business. Likes creating micro databases and evangelise about immutability of data (GDPR/RODO be damned). He also thinks salvation of our discipline could be achieved by ditching product and feature owners and making sure developers work directly with clients, read their support tickets, and if possible answer them.

Is writing performant code too expensive?


As 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 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.

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.

Key takeaways:

  • Software 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
Make sure to download the Android or iOS mobile schedule.