Performance-Aware Programming


  • Optimization
    • Well-known practice
    • Take a program --> maximize performance
  • Modern programming has created incredibly slow programs
    • Programming practices, tool chains, methodologies all add up
  • Modern software is ~1000x slower than it should be
  • What is performance-aware programming?
    • Programming with the considerations of what makes software fast or slow
    • Understanding how your decisions impact the software performance scale
  • CPU
    • Does most of the work
    • Takes in instructions and does some work
  • How can we improve the performance of the CPU?
    • Reduce the number of instructions
    • Increase the speed instructions move through the CPU
  • Over time, CPUs have gotten more complex and programmers have a less intimate understanding of how they work