Thesis (Selection of subject)Thesis (Selection of subject)(version: 392)
Thesis details
   Login via CAS
Profdiff Visualizer
Thesis title in Czech: Profdiff Vizualizér
Thesis title in English: Profdiff Visualizer
Key words: jit|překladač|výkon|profdiff
English key words: jit|compiler|performance|profdiff
Academic year of topic announcement: 2025/2026
Thesis type: Bachelor's thesis
Thesis language: angličtina
Department: Department of Distributed and Dependable Systems (32-KDSS)
Supervisor: Mgr. Andrej Pečimúth
Author: hidden - assigned and confirmed by the Study Dept.
Date of registration: 27.08.2025
Date of assignment: 27.08.2025
Confirmed by Study dept. on: 27.08.2025
Opponents: doc. Ing. Lubomír Bulej, Ph.D.
 
 
 
Guidelines
Diagnosing performance regressions in JIT compilers like the GraalVM compiler is a complex challenge. The compiler's optimizations are highly sensitive to profiling feedback, which can be unstable between virtual machine runs. The GraalVM compiler can extract the decisions from a run in a structured log, and the profdiff CLI tool can report the differences in optimization decisions between two runs. The text-based output of the tool shows the differences in optimization or inlining between pairs of the most frequently executed compilation units (or parts of compilation units). However, due to the large number of compilations, the number of applied optimizations, and inlining differences, the output of profdiff can become hard to navigate and interpret, especially if a compiler engineer wishes to compare multiple pairs of runs.

This project addresses these issues by designing and implementing a client-server web application that provides a user-friendly, graphical interface for profdiff. The application will allow the user to open a directory with the structured logs and present the performance statistics of the runs. The user can select a single run to view or a pair of runs to compare, and then select which compilations to focus on (and which compilation pairs to compare) based on the measured method profile. The interface should also offer an option to interactively adjust the format and verbosity of the output.
References
[1] Diagnosing Compiler Performance by Comparing Optimization Decisions, https://dl.acm.org/doi/10.1145/3617651.3622994
[2] GraalVM, https://www.graalvm.org/
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html