---
title: Performance Engineering
description: Performance engineering is the practice of ensuring software systems meet speed, scalability, and resource utilization requirements. You will understand how to profile applications, identify bottlenecks, optimize code, and conduct load testing under heavy traffic.
category: programming-tech
subcategory: software-architecture
difficulty: beginner, intermediate, advanced
url: /subject/performance-engineering
---

# Performance Engineering

Performance engineering is the practice of ensuring software systems meet speed, scalability, and resource utilization requirements. You will understand how to profile applications, identify bottlenecks, optimize code, and conduct load testing under heavy traffic.

## Where to start

Start with Performance Engineering of Software Systems (MIT 6.172) by Charles Leiserson and Julian Shun, a free MIT OpenCourseWare course with lecture videos and programming projects on measuring and speeding up real code. If you only use one resource, make it Systems Performance by Brendan Gregg, whose site brendangregg.com offers free profiling and tracing tools such as flame graphs. For websites, add Google's web.dev guides on Core Web Vitals.

## Available Resources

2 Books • 1 Courses • 3 Websites

## Courses

### 1. Performance Engineering of Software Systems (MIT 6.172)

**Author:** Charles Leiserson, Julian Shun

Hands-on, project-based study of building fast, scalable software in C: performance analysis, algorithmic techniques, instruction-level and cache optimizations, and parallel programming. Includes 23 lecture videos, slides, programming projects and exams with solutions, teaching learners to measure and speed up real code.

**Difficulty:** Intermediate | **Price:** Free

**Link:** https://ocw.mit.edu/courses/6-172-performance-engineering-of-software-systems-fall-2018/

**Tags:** performance-engineering, parallel-programming, cache-optimization, c-programming, profiling

## Books

### 1. Systems Performance

**Author:** Brendan Gregg

Reference text on analysing operating system and application performance on Linux and Solaris, covering CPUs, memory, file systems, disks, networking and cloud environments. Readers learn methodologies such as USE and workload characterisation, and how to apply observability and benchmarking tools to diagnose bottlenecks.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0133390098?tag=edmonddante07-20

**Tags:** books, technology-computer-science, software-architecture

### 2. Programming Pearls

**Author:** Jon Bentley

Jon Bentley's essays, expanded from his Communications of the ACM column, built around real programming problems. Readers learn problem definition, algorithm design, back-of-the-envelope estimation, program verification, and performance tuning through compact, carefully reasoned examples.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0201103311?tag=edmonddante07-20

**Tags:** algorithm-design, performance-tuning, back-of-the-envelope-estimation, program-verification

## Websites

### 1. web.dev

web.dev is Google's developer resource hub with guides, tutorials, and tooling docs to help you build fast, accessible, and reliable websites. It covers web performance topics like Core Web Vitals, Lighthouse audits, performance best practices, and network optimization techniques.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://web.dev

**Tags:** websites, technology-computer-science, computer-networks

### 2. highscalability.com

High Scalability is a tech blog offering in-depth articles and real-world case studies on building scalable distributed systems, with content on architecture patterns, performance tuning, scalability challenges, and deployment strategies.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://highscalability.com

**Tags:** websites, technology-computer-science, operating-systems

### 3. brendangregg.com

Brendan Gregg's site is a comprehensive resource on systems performance engineering, offering tutorials, articles, and open-source tools for profiling, tracing, and analyzing performance (including flame graphs, perf, DTrace, and related techniques).

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://brendangregg.com

**Tags:** websites, technology-computer-science, software-architecture

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/performance-engineering