Performance Fundamentals
Build a foundation for understanding, measuring, analyzing, and improving software and system performance.
Performance Fundamentals
Learn the principles behind latency, throughput, utilization, capacity, and performance bottlenecks.
Computer Architecture
Understand CPUs, caches, pipelines, instruction execution, and hardware performance.
Operating Systems
Explore processes, scheduling, I/O, system calls, and operating-system performance.
Memory Management
Understand memory hierarchy, allocation, caching, paging, and memory-related bottlenecks.
Systems Performance
Understand the major system components that determine application and infrastructure performance.
Concurrency & Parallelism
Threads, processes, synchronization, parallel execution, contention, and scalability.
Networking
Understand network latency, bandwidth, protocols, connections, and network bottlenecks.
Data Management
Explore databases, storage, data access patterns, indexing, and data-related performance.
Distributed Systems
Understand distributed execution, communication, coordination, scalability, and system bottlenecks.
Cloud & Virtualization
Understand performance in virtualized, containerized, and cloud computing environments.
Cloud Performance
Understand performance characteristics of cloud infrastructure and services.
Virtualization
Explore virtual machines, hypervisors, containers, and virtualization overhead.
Scalability
Understand scaling behavior and performance as workloads and resources grow.
Infrastructure
Examine how compute, storage, networking, and virtualization interact.
Measure & Benchmark
Measure performance systematically and establish meaningful benchmarks.
Performance Testing
Design tests that reveal system behavior under realistic workloads.
Benchmarking
Compare systems, workloads, configurations, and implementations using repeatable measurements.
Profiling & Instrumentation
Capture detailed measurements to understand where time and resources are being spent.
Observability
Use metrics, logs, traces, and other signals to understand running systems.
Analyze Performance
Turn measurements into an understanding of system behavior and bottlenecks.
Performance Analysis
Identify bottlenecks, understand workload behavior, interpret measurements, and reason about system performance.
Performance Optimization
Apply techniques for reducing latency, increasing throughput, improving efficiency, and removing bottlenecks.
Programming Language Performance
Understand how languages, runtimes, compilers, memory models, and language features affect performance.
Performance & Reliability
Performance is part of a larger engineering discipline that includes reliability, resilience, and operational behavior.
Reliability Engineering
Understand availability, resilience, failure behavior, capacity, and reliable system design.
Observability
Make system behavior visible so performance and reliability problems can be identified.
Reference & Patterns
Access terminology, patterns, reference material, and reusable performance knowledge.
The Performance Engineering Cycle
Performance engineering is an iterative process of understanding, measuring, analyzing, and improving systems.
Explore PerfDay
Browse the complete performance engineering knowledge base.