Skip to content
C++20 whitepaper route

Learn performancewith evidence first

A learning-first homepage for readers who want a serious C++ guide with runnable examples, validation routes, and explicit proof standards.

Use this page as the front door to the whitepaper: understand who it is for, follow the recommended study path, then take the first-run route before diving into deeper reference material.

Who should read this guide?

This guide is for readers who want more than isolated tips:

  • engineers revisiting modern C++ performance work and wanting a structured re-entry point
  • reviewers or interviewers who need to inspect claims against runnable code and verification surfaces
  • maintainers who must understand how examples, tests, presets, and whitepaper narrative fit together

The repository treats performance advice as something to compile, test, benchmark, and falsify. An expert reader should be able to move from a claim on this page to the corresponding source file, preset, benchmark, or test target without guesswork.

Start with orientation before specialization:

  1. Read the Academy overview to learn the repository's teaching model.
  2. Use Module Atlas to map each module to concrete code surfaces.
  3. Read Validation Doctrine before trusting any optimization claim.
  4. Continue into Architecture once you want repository topology and methodology.
  5. Keep Playbook and Reference nearby for operational detail.

First-run route

Use the preset-driven path first. It is the shortest route that still preserves architectural intent.

Quick Start

Run the baseline before browsing advanced optimization pages. That keeps the learning sequence anchored to a known-good build and test loop.

cmake --preset=debug && cmake --build build/debug && ctest --preset=debug
For a broader operational path, continue with the Quick Start guide.

Validation claims

Claim typeMinimum evidence in this repositoryPrimary route
"the code still works"debug configure, build, and ctest --preset=debugValidation Doctrine
"the optimization is representative"release or relwithdebinfo build plus benchmark or profiler outputPerformance Methodology
"the concurrent path is safe"unit or property tests plus tsan when synchronization changedValidation & Sanitizers
"the docs are current"links, navigation, and built Pages output stay aligned with the live repositoryPlaybook

Whitepaper map

Reference

Use the reference hub for API entry points, troubleshooting, and exact command surfaces when you need precision more than narrative.

Module map

ModulePrimary code surfaceTypical evidenceBest entry page
01. Modern CMakeexamples/01-cmake-modern/, CMakeLists.txt, cmake/configure and target-level buildsQuick Start
02. Memory & cacheexamples/02-memory-cache/, tests/unit/memory/, tests/property/memory_properties.cppcache-sensitive benchmarks, perf statModule Atlas
03. Modern C++examples/03-modern-cpp/, tests/unit/modern_cpp/benchmark comparisons and unit testsLearning Path
04. SIMD vectorizationexamples/04-simd-vectorization/, tests/unit/simd/, tests/property/simd_properties.cppvectorization checks and simd_benchOptimization Decision Tree
05. Concurrencyexamples/05-concurrency/, tests/unit/concurrency/, tests/property/concurrency_properties.cpptsan, queue tests, scaling benchmarksValidation Doctrine
Quick Start

Use the preset-driven path first. It is the shortest route that still preserves architectural intent.

cmake --preset=debug && cmake --build build/debug && ctest --preset=debug
For a broader operational path, continue with the Quick Start guide.

Expert reader callouts

  • Interviewer or reviewer: start with Architecture and Research. Those pages expose the validation model and external context fastest.
  • Future maintainer: read Module Atlas, Repository Topology, and the repository-level guidance in AGENTS.md and CLAUDE.md on GitHub.
  • Practicing engineer: use the Playbook for commands, then move to profiling and sanitizer routes only after a baseline run succeeds.

Operational routes

Learning path

Keep the original study sequence visible, but treat it as a guided reading program rather than the whole documentation strategy.

SIMD & concurrency

Reach the performance-heavy modules directly when you already know the fundamentals and want to inspect ISA or threading trade-offs.

Technical specifications

SurfaceDetail
C++ standardC++17 minimum, C++20 where beneficial
Build systemCMake 3.20+ with presets
PlatformsLinux primary; macOS and Windows via cross-platform headers
CompilersGCC 11+, Clang 14+, MSVC 2022+
TestingGoogleTest + RapidCheck (property-based)
BenchmarksGoogle Benchmark, perf integration
SanitizersASan, TSan, UBSan via CMake presets
DocumentationVitePress, bilingual (en/zh), GitHub Pages

Secondary routes

  • Contributing workflow remains available for repository contributors, but it is not part of the main expert-reading arc.
  • Exercises remain intentionally secondary. They are practice surfaces, not the primary architectural narrative.

Released under the MIT License.