// Performance & Nebenläufigkeit

Microbenchmarks mit JMH

Verlässlich messen statt raten: typische Fehler bei Benchmarks und ihre Vermeidung.

  • Inhouse-Schulung
  • 1 Tag
  • Experten & Architektur
  • Remote oder vor Ort
Mechanische Stoppuhr mit bernsteinfarbenem Gehäuse auf einem Blatt mit parallelen Linien
Symbolbild · KI-generiert

Was Sie mitnehmen

  • Sie erkennen typische Fehler bei handgeschriebenen Zeitmessungen.
  • Sie schreiben Benchmarks mit JMH und wählen passende Modi und Parameter.
  • Sie vermeiden Dead Code Elimination, Constant Folding und fehlendes Warm-up.
  • Sie interpretieren Ergebnisse samt Streuung und ordnen sie für Entscheidungen ein.

Agenda

Die Agenda ist die Grundlage. Schwerpunkte und Beispiele stimmen wir vorab auf Ihr Team ab.

Vormittag

  • Warum Messschleifen mit System.nanoTime täuschen: JIT, Warm-up, Optimierungen
  • JMH-Projekt mit Maven-Archetyp anlegen: @Benchmark, @State, @Setup
  • Messmodi, Warm-up- und Messiterationen, Forks
  • Übung: Ersten Benchmark schreiben und Varianten vergleichen

Nachmittag

  • Fallstricke: Dead Code Elimination, Constant Folding, Blackhole
  • Parametrisierung mit @Param und realistische Eingabedaten
  • Profiler in JMH: gc, stack und Anbindung von async-profiler
  • Übung: Fehlerhaften Benchmark analysieren, korrigieren und Ergebnisse einordnen

Voraussetzungen und Rahmen

Vorwissen
Mehrjährige Java-Erfahrung und Grundkenntnisse zur Arbeitsweise der JVM.
Werkzeuge
JMH (Open Source, GPL v2 + CE)
Niveau
Experten & Architektur
Teilnehmende
bis 10 Personen, größere Gruppen auf Anfrage
Durchführung
Remote per Videokonferenz oder bei Ihnen vor Ort
Enthalten
Abstimmung vorab, Unterlagen, Übungsprojekte, Teilnahmebescheinigungen

// Trainer mit langjähriger Softwareentwicklungserfahrung, akademische Ausbildung in Informatik und KI.