TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #5898 2.29K
📚 Генераторы и их мифы: как экономия памяти на самом деле работает

Недавняя статья о «ленивых вычислениях в PHP» поднимала популярную тему: генераторы экономят память. Однако, как это часто бывает, под видом оптимизации скрывается простая подмена понятий.

🔍 Про генераторы
Генераторы — полезный инструмент в программировании, который активно используется, например, в Symfony. Они помогают решать задачи от управления ходом выполнения программы до добавления элементов в массив «на лету». Однако утверждение, что генераторы экономят память, — это миф. Реальная экономия памяти происходит благодаря принципу «чтение данных по одной записи», а генератор всего лишь маскирует обычный цикл и упрощает код.

🛠️ Как это работает на практике
Генератор помогает писать более чистый и понятный код, но сам по себе он не освобождает память. Это работает только в случае, когда код уже использует массивы — генератор позволяет их заменить, не теряя в производительности. Но не нужно воспринимать это как «магическую» экономию памяти. В действительности, экономия происходит за счет потоковой обработки данных.

📝 Про статью
Статья предлагает пример «реального кейса из продакшена», который на самом деле лишь подтверждает подмену понятий. Автор рассказывает, как генераторы могут сократить использование памяти, но на деле это не так. Интересно, что после критики статьи автор изменил нарратив и признал, что экономия памяти достигается через стриминг данных.

⚙️ Про генеративный ИИ
Это также напоминает ситуацию с генеративным ИИ: если им пользуется профессионал, он становится мощным инструментом для ускорения рутинных процессов. Но если подходить без должного понимания и контекста, ИИ может превратить программиста в просто оператора, который слепо повторяет ответы, не проверяя их на ошибки. И в таком случае результат — не решение задачи, а её иллюзия.

👉 Хабр

Библиотека пхпшника
  • ❤ 5
  • 👏 2
More from @phpproglib
  1. Sep 25, 2026🌞 PHP умеет искать в массиве без foreach В PHP 8.4 появились array_find(), array_find_key…
  2. Sep 24, 2026👍 5 способов встроить AI в Laravel Laravel AI SDK позволяет добавлять AI-функции прямо в…
  3. Sep 23, 2026🛠 Symfony 8.2 научился автоматически генерировать JSON Schema для конфигурации приложения…
  4. Sep 23, 2026🚀 Свежий релиз Laravel 13 с набором улучшений и исправлений ✅ добавлена поддержка valkey:…
  5. Sep 21, 2026⚡️ PHP 8.6 выйдет 19 ноября 2026 года. Сейчас версия находится в beta. Самые заметные изме…
  6. Sep 20, 2026❓ Какие существуют проблемы в многопоточной среде? Основные проблемы многопоточности: 1️⃣…
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 →