TGViewer
Бестиарий программирования Бестиарий программирования @programming_tales · 1.14K subscribers
Post #583 662
Смотрю ещё один вайб проект, про который потом напишу статью. Что-бы быть в ней максимально точным, прошу помочь читателей.

По мнению ИИ вот этот код с вложенным циклом является SIMD-friendly. Предполагается, что потенциально он может быть лучше оптимизирован, так как компилятор увидит, что обработка идёт цепочками по 8 байт и как-то воспользуется этим.

Моё мнение – это фигня какая-то. Моя нейросеть (интуиция) подсказывает, что этот код для компилятора ничем не лучше, чем его простейшая реализация с одним циклом:
bool IsSpanBlank_simple(const char* data, size_t len) {
for (size_t i = 0; i < len; ++i) {
unsigned char c = static_cast<unsigned char>(data[i]);
if (c != ' ' && c != '\t' && c != '\n' && c != '\r') {
return false;
}
}
return true;
}

Хочу убедиться в своей правоте. Мне кажется, нет компилятора и ключей оптимизации, при которых будет построен особенно эффективный код (например, с использованием SSE) для версии с вложенным циклом, но при этом тоже самое не будет сделано для короткой версии.

На своих замерах я пока вообще получаю, что "оптимизированная" версия с вложенным циклами работает медленнее, чем с 1 циклом. Есть более быстрые варианты, основанные на сдвигах и явных интристиках, но они сейчас не интересны. Речь именно на предложенную "оптимизацию" с вложенным циклом.

Призываю экспертов оптимизации. Кто прав, а кто нет?
  • ❤ 3
More from @programming_tales
  1. Oct 2, 2026Запись вебинара: Go vet не поможет... Как сделать свой анализатор кода для Go?
  2. Oct 2, 2026В целях нетворкинга и просто так приглашаю коннектиться в TenChat — что-то типа LinkedIn.…
  3. Sep 29, 2026Сегодня коллега демонстрирует, как визуально проявляют себя баги в Java коде: Нашёл ошибки…
  4. Sep 29, 2026photo post
  5. Sep 28, 2026На днях выступал с докладом на форуме "Безопасность транспортных средств", организованном…
  6. Sep 28, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →