Performance Engineering of Software Systems
Study Materials
C for Java Programmers (PDF) (Courtesy of Reid Kleckner. Used with permission.)
C++: The Good, Bad, and Ugly (PDF) (Courtesy of Reid Kleckner. Used with permission.)
Projects
These projects require GCC (or another C++ compiler), GNU Make, and the Intel Cilk++ compiler, all of which are freely available. Some projects also require Intel VTune, which must be purchased.
PROJECT # |
TOPICS |
PROJECTS |
SUPPORTING FILES |
0 |
Getting started |
(PDF) |
(ZIP) |
1 |
Bit hacks |
(PDF) |
(ZIP) |
2-1 |
Evaluating performance via profiling |
(PDF) |
|
2-2 |
Iterative performance optimization |
(PDF) |
(ZIP) |
3 |
Writing a dynamic storage allocator |
(PDF) |
(ZIP) |
4-1 |
Parallel programming with Cilk I |
(PDF) |
|
4-2 |
Parallel programming with Cilk II |
(PDF) |
|
5 |
Parallelism and data synchronization |
(PDF) |
Lock-based queue (RTF) Lock-free queue (RTF) |
6 |
Ray tracing performance derby |
(PDF) |
Reference images: Scene 1 (PNG - 1.5MB) Scene 2 (PNG) Scene 3 (BMP - 1.0MB) |