This repository contains my homework solutions to the Performance-Aware Programming course.
In Part 1 we wrote a partial 8086 disassembler and simulator. This was done as an introduction to assembly. It also provided a historical context for x64 assembly, and can be used to reference both similarities as well as differences in today's architecture.
In Part 2 we wrote a file generator outputting some data in a certain JSON format, and a parser to read the data back and do some calculations. We then began implementing an instrumented profiler and used the file parser as an experimentation ground in which to use the profiler.
Part 3 is currently ongoing. We have written a repetition tester and are working on getting a feel for different performance aspects of the virtual memory subsystem and the CPU.