Talks 2025

2025 will probably a quieter year for me due to work-related tasks and plans. Stay tuned for more.

Jfokus 2025, Stockholm

But one talk has been scheduled already and I am truly looking forward to my trip to Jfokus 2025, Stockholm with The First 80% of Reading One Billion Rows Fast Enough. Hope to see you there and the talk will differ from all 2024 versions with new and updated content. Keep watching my GitHub repo.

Talks 2024

2024 was a great conference year. Thanks to all organisers and participants and thank you for all the feedback, suggestions, questions, and comments.

JavaLand 2024

We might have met at JavaLand 2024 from 9 April to 11 April 2024 at the Nürburgring, Germany. Guter Code - Eine Motivation" (Good Code - A Motivation) was my first talk. Because I got 100 min, you saw an extended and further polished version of my previous JUG Saxony talk. My second talk was "Microbenchmarks - Wer misst misst Mist" about the typical microbenchmarking mistakes. You might remember the 2023 Devoxx PL talk, close but not the same.

DevDays Dresden

The participants at DevDay Dresden saw my MICROBENCHMARKING - The Art of Realizing One is Wrong on 16 April 2024.

LTB 2024

If you are into load testing, you likely joined my talk about load and performance testing in practise and the challenges of numbers given at the The Twelfth International Workshop on Load Testing and Benchmarking of Software Systems (LTB 2024) on 7 May 2024 South Kensington, London, UK.

My talk touched on the topic of test data and test data sharing: How To Sell Performance Test Results. Enjoy and feedback is appreciated.

JPrime 2024

I sadly had to cancel my talk at jPrime 24 Sofia Bulgaria. The planned topic was "GCs - Real Life Latency and Overhead". Hope to be able to make up for that.

Devoxx Poland 2024

Also Devoxx Poland accepted my proposals and so we met at Devoxx Poland in Krakow, Poland on 19 to 21 June 2024. The topics were "The First 80% of Reading One Billion Rows Really Fast". This one was brand at this time. We talked about the low handing fruits of tuning for speed by using the 1BRC example by Gunnar Morling from January 2024. And here are the slides for your consumption.

René Schwietzke presenting at Devoxx Poland 2024
Figure 1. The First 80% of Reading One Billion Rows Really Fast

My second talk strayed slightly from Java, focusing on XLT, a load testing tool developed and open-sourced by Xceptance. Even though XLT is built on Java, uses Java as its scripting language, the talk primarily explored the motivations behind creating XLT, given the existing landscape of tools, and detailed the journey of its development up to the present day. Enjoy the slides.

René Schwietzke presenting at Devoxx Poland 2024
Figure 2. Writing another load test tool? What a stupid idea!

Devoxx Belgium 2024

In Antwerp, I presented the deep dive extended version of Micro Benchmarking - The Art of Realizing One is Wrong. If you like, we even have a recording which is about 150 min long.

René Schwietzke presenting at Devoxx Belgium 2024
Figure 3. Microbenchmarking - Deep Dive The Art of Realizing One is Wrong

JavaForum Nord, Hannover

At the Java Forum Nord in Hannover on 30 July 2024 I presented the German version of "The First 80% of Reading One Billion Rows Fast Enough titled "Die 1 Milliarde Zeilen Herausforderung - #1BRC - Die ersten 80%".

Java Forum Stuttgart

I also presented the #1BRC talk in Stuttgart.

René Schwietzke presenting on the stage at Java Forum Stuttgart 2024
Figure 4. René Schwietzke presenting at Java Forum Stuttgart

JUG Saxony 2024

This was not planned but I covered for a slot that was vacant due to a speaker who had to cancel. And because I had a talk ready in English and that was an English slot, I presented my The First 80% of Reading One Billion Rows Really Fast talk.

Talks 2023

JUG Workshops Bern and Zurich 2023

In November 2023 (13-14th), I was giving two workshops in Bern and Zurich, Switzerland. These were the extended versions of my DevoxxPL MICROBENCHMARKING - The Art of Realizing One is Wrong talk.

Zurich was a hands-on workshop and therefore featured more content, more discussions, and more trial-and-error. You can find the extended slide deck here. The deck also features a link to the GIT repo with all examples used.

Accento Java/Web/Dev 2023

You might have joined me for Parallel Programming is Hard talk (in German this time, slides in English) at Accento 2023 in Karlsruhe, Germany on 24th October 2023. Accento was a fun event and I am grateful for all feedback and great discussion before, during, and after the conference.

JUG Saxony Day 2023

I hope we had the opportunity to meet at JUG Saxony Day 2023 in Dresden on 29 September 2023. My presentation talked about good and hopefully high quality code (not clean code, that is a different story). I presented simple ideas to motivate you to think about your very own code. In addition, we talked about APIs, style, tests, and of course, about the longevity of code.

Because a few speakers got sick, I got a second slot and presented my microbenchmark challenges talk. It was similar to the Devoxx Poland 2023 version but saw some minor updates.

Devoxx Poland 2023

I was an honor to be invited to speak at Devoxx Poland 2023. It was a really fun conference and I am grateful to have met so many wonderful people, speakers and regular attendees alike.

My first talk was about the right approach to microbenchmarking and the mistakes you can make if you try it a little too naively - MICROBENCHMARKING - The Art of Realizing One is Wrong. About 60 people attended and I was rated with 4.5 of 5 stars. I tried to put too much into the presentation so I had to rush towards the end. Sorry about that, but take as much time as you need to go through the slides.

René Schwietzke presenting at Devoxx Poland 2023
Figure 5. René Schwietzke presenting at Devoxx Poland 2023
René Schwietzke presenting at Devoxx Poland 2023
Figure 6. Microbenchmarking - The Art of Realizing One is Wrong on YouTube

Friday’s was all about parallel programming and why it is so important to know at least some details about the internals of the JVM in order to programm correctly. PARALLEL PROGRAMMING IS HARD - Why you really need synchronization and it is not what you think. 350 people showed interest and attended my session. It was rated 4.35 out of 5 stars. Many thanks to Douglas Q Hawkins and his 2017 Devoxx talk on Concurrency Concepts in Java. It was both an inspiration and a foundation for my talk.

René Schwietzke presenting at Devoxx Poland 2023
Figure 7. René Schwietzke, Devoxx Poland 2023, Parallel Programming is Hard
René Schwietzke presenting at Devoxx Poland 2023
Figure 8. Parallel Programming is Hard on YouTube

Talks 2022

JUG Saxony Day 2022

This talk is about the Java Memory Model and what you should know to write correct multi-threaded code or at least know that you might not have to care about. It shows some of the details that modern languages and frameworks typically fully hide but Java partially still exposes due to its history. When you write a library for multi-threaded use, make sure you understand what you do. If you consume such a library, you hopefully can really on the quality and consistency provided. If the performance of your application is mediocre, maybe you find a possible reason here.

Cover of the Java Memory Model Presentation

Data Science Day 2022

When load and performance testing, a lot of data is captured. This presentation talks about the sheer amount (293,084 data points per second) and how this data is later condensed down to a few meaningful metrics. All of this, hopefully, without losing too much information and still transporting the most important facts.

Cover of the Presentation for the Data Science Day 2022

This talk has been recorded as well and it was given in English.

CinJUG 2022

A newer version of my High Performance Java talk was given at a CinJUG meetup in 2022.

CinJUG 2022

During the pandemic, I gave a remote presentation to the Cincinnati Java User Group about the Java Memory Model.

Talks 2020 and Before

JavaLand 2020 (canceled)

This is my presentation that was scheduled for JavaLand 2020 but the entire conference got canceled due to the pandemic (in case you read that sometime in future, that was the Covid-19 pandemic). This talk is about all the tricks the JVM applies to get your code executed as quickly as possible. That includes compiler and optimization stages, dropping of code, and more. Also, it is about the modern CPUs and how they optimize code execution. Your code runs in parts concurrently on the CPU without you even knowing that.

Cover of the Slidedeck

DevTest Leeds 2019

When testing load and performance, one always faces the problem how to communicate the state and results. Not every stakeholder understands numbers as well as the load testers do, therefore communication might raise more questions than it answers. This talk suggests a simple rating system to convey a test result to many different people in a consitent manner.

Cover of the DevTest Leeds Presentation 2019

JUG Saxony Day 2019

The Javaland 2020 presentation, with marginal changes, was also given at the JUG Saxony Day 2019 in Dresden.

Please note, I was horribly overrunning and so I continued into the lunch break. This part has not been recorded.

Presentations

This section shows my presentations given, often not any different from a talk. Typically, the crowd is smaller and it was given to a more uniform audience, such as a company department or a group of students.

Publications

Tooling

All my presentations, some limitations apply, typically use Reveal.JS and my very own Less-based theme. Please note, the version that is used in these presentations is way older than the latest Reveal.JS version you find on GitHub. My theme might not fit anymore.

Feel free to use my theme or the Less approach for your own work and just feel inspired to use Reveal.JS. Especially, when you want a very uniform styling that can be easily adjusted (just a little bit of CSS and all presentations are updated) or you have to display source code a lot.