⚡
C++ — Производительность и оптимизации
Cache locality, branch prediction, copy elision, векторизация, inlining, профайлинг, аллокаторы, накладные расходы, RVO, false sharing.
26 вопросов · 26 показано
MediumЧто такое cache locality и почему важно?cacheperformanceMediumЧто такое branch prediction и как влияет на производительность?branch-predictionMediumПочему std::vector обычно быстрее std::list?vectorlistcacheMediumЧто такое inlining и когда компилятор его применяет?inliningMediumЧто такое RVO и NRVO?rvonrvoMediumЧем emplace_back эффективнее push_back?emplacevectorMediumЧто такое memory pool и зачем?memory-poolallocatorsMediumЧто такое small string optimization (SSO)?ssostringEasyЧемreserve-ить vector перед fill-ом?reservevectorHardЧто такое false sharing и как избежать?false-sharingMediumЧто такое move semantics и как оно ускоряет?move-semanticsHardЧто такое PGO (Profile-Guided Optimization)?pgoHardЧем lock-free лучше mutex?lock-freeperformanceHardЧто такое ABA problem в lock-free?abalock-freeHardЧто такое cache line и cache coherence?cachecoherenceHardЧем static polymorphism (CRTP) быстрее virtual?crtpvirtualHardЧто такое SOA vs AOS?soaaosMediumКаковы основные инструменты профайлинга C++?profilingHardЧто такое ABI-stable библиотека?abiMediumЧем std::deque отличается от std::vector?dequevectorMediumЧто такое noexcept move и почему STL проверяет?noexceptmoveEasyЧто такое memcpy vs memmove?memcpyHardЧто такое calling convention overhead?calling-conventionMediumЧто такое copy elision в аргументах функции?copy-elisionEasyЧто такое enum class и почему он эффективнее enum?enum-classMediumЧто такое std::span и зачем?spanc++20