Performance
Per.4
Не считайте, что сложный код обязательно быстрее простого
Причина
Простой код может быть очень быстрым. Оптимизаторы порой творят чудеса с простым кодом.
Пример (хороший)
// ясное выражение намерения, быстрое выполнение
vector<uint8_t> v(100000);
for (auto& c : v)
c = ~c;
Пример (плохой)
// задумано как более быстрое, но зачастую медленнее
vector<uint8_t> v(100000);
for (size_t i = 0; i < v.size(); i += sizeof(uint64_t)) {
uint64_t& quad_word = *reinterpret_cast<uint64_t*>(&v[i]);
quad_word = ~quad_word;
}
Примечание
???
???