Почему в C ++ Core Guidelines Per.4 плохой пример должен быть быстрее? - PullRequest
4 голосов
/ 06 августа 2020

Я недавно прочитал это , в котором говорится:

Не думайте, что сложный код обязательно быстрее простого.

Код копируется следующим образом:

Пример, хорошо

// clear expression of intent, fast execution

vector<uint8_t> v(100000);

for (auto& c : v)
    c = ~c;

Пример, плохо

// intended to be faster, but is often slower

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;
}

И я не уверен, в чем цель плохого примера, почему он должен быть быстрее?

1 Ответ

4 голосов
/ 06 августа 2020
• 1000 регулируется количеством операций, написанных в коде C ++.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...