C++ — Производительность и оптимизации

Cache locality, branch prediction, copy elision, векторизация, inlining, профайлинг, аллокаторы, накладные расходы, RVO, false sharing.

26 вопросов · 26 показано

MediumЧто такое cache locality и почему важно?MediumЧто такое branch prediction и как влияет на производительность?MediumПочему std::vector обычно быстрее std::list?MediumЧто такое inlining и когда компилятор его применяет?MediumЧто такое RVO и NRVO?MediumЧем emplace_back эффективнее push_back?MediumЧто такое memory pool и зачем?MediumЧто такое small string optimization (SSO)?EasyЧемreserve-ить vector перед fill-ом?HardЧто такое false sharing и как избежать?MediumЧто такое move semantics и как оно ускоряет?HardЧто такое PGO (Profile-Guided Optimization)?HardЧем lock-free лучше mutex?HardЧто такое ABA problem в lock-free?HardЧто такое cache line и cache coherence?HardЧем static polymorphism (CRTP) быстрее virtual?HardЧто такое SOA vs AOS?MediumКаковы основные инструменты профайлинга C++?HardЧто такое ABI-stable библиотека?MediumЧем std::deque отличается от std::vector?MediumЧто такое noexcept move и почему STL проверяет?EasyЧто такое memcpy vs memmove?HardЧто такое calling convention overhead?MediumЧто такое copy elision в аргументах функции?EasyЧто такое enum class и почему он эффективнее enum?MediumЧто такое std::span и зачем?