Electrical Engineering and Computer Science
Performance Engineering of Software Systems
Lecture 1: Introduction and Matrix Multiplication
Lecture 2: Bentley Rules for Optimizing Work
Lecture 3: Bit Hacks
Lecture 4: Assembly Language & Computer Architecture
Lecture 5: C to Assembly
Lecture 6: Multicore Programming
Lecture 7: Races and Parallelism
Lecture 8: Analysis of Multithreaded Algorithms
Lecture 9: What Compilers Can and Cannot Do
Lecture 10: Measurement and Timing
Lecture 11: Storage Allocation
Lecture 12: Parallel Storage Allocation
Lecture 13: The Cilk Runtime System
Lecture 14: Caching and Cache-Efficient Algorithms
Lecture 15: Cache-Oblivious Algorithms
Lecture 16: Nondeterministic Parallel Programming
Lecture 17: Synchronization Without Locks
Lecture 18: Domain Specific Languages and Autotuning
Lecture 19: Leiserchess Codewalk
Lecture 20: Speculative Parallelism & Leiserchess
Lecture 21: Tuning a TSP Algorithm
Lecture 22: Graph Optimization
Lecture 23: High Performance in Dynamic Languages
Don't show me this again
This is one of over 2,400 courses on OCW. Explore materials for this course in the pages linked along the left.
MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.
No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates.
Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW.
Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)
Learn more at Get Started with MIT OpenCourseWare