Software profiling for codebase exploration, debugging, and performance optimisation

TU
9 Nov 2025, 15:30
2h
Synagoge

Synagoge

tutorial Tutorials

Speaker

Fergus Baker (University of Bristol)

Description

Obtaining a clear picture of a new or even existing codebase is difficult. This
is especially true if the aim is to ascertain which parts of the code are
crucial to the primary function or performance of the software, and which are
for handling edge-cases, memory management, input/output (IO), or even argument
parsing. One of the most effective means by which to learn such information is
to let the program tell you, by profiling how the code is executing on your
hardware. Profiling provides insight into how the program navigates
instructions, interacts with the system memory and caches, the underlying
operating system kernel, network devices, the file system, thread
communication, or how a modern CPU is pipelineing and speculatively executing
performance critical components.

This workshop will provide a hands-on introduction to software profiling for
codebase exploration, debugging, and performance optimisation. It will cover the
basic concepts behind statistical and frame-based methods in a generally
language and system agnostic manner. The hands-on sessions are specific examples
using compiled binaries, perf events, the Tracy graphical profiler, and more.

Affiliation of the submitter Newcastle University
Attendance in-person

Presentation materials