Software Performance
Persone
Docente titolare del corso
Assistente
Descrizione
This course teaches how the various layers of a computer system interact and affect the resulting performance. It performs two cuts down the system stack: one about the 'state' and the other about the 'behavior' of a system. The discussion of 'state' investigates memory usage of applications, leak detection, garbage collection, virtual memory management, and cache performance. The discussion of 'behavior' investigates call graphs, dynamic class loading, shared libraries and dynamic linking, control flow graphs, exception handling, compiler optimizations, and branch prediction.
Obiettivi
Learn to reason about performance across system layers. Understand, with the example of Java, how language, compiler, virtual machine, operating system, and computer architecture work together.
Modalità di insegnamento
In presenza
Impostazione pedagogico-didattica
Participation in class session and solution of lab/homework assignments (mostly programming in Java).
Modalità d’esame
Written in-class final exam (if possible).
Offerta formativa
- Master of Science in Financial Technology and Computing, Lezione, A scelta, 2° anno
- Master of Science in Informatics, Lezione, Software Development, A scelta, 1° anno
- Master of Science in Informatics, Lezione, Software Development, A scelta, 2° anno
- Master of Science in Informatics, Lezione, Programming languages, A scelta, 1° anno
- Master of Science in Informatics, Lezione, Programming languages, A scelta, 2° anno
- Master of Science in Software & Data Engineering, Lezione, 2° anno