TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #5814 2.53K
🧠 Оптимизация через обратный слэш в PHP — миф или реальность?

Опкод — промежуточное представление кода, которое исполняется Zend VM. PHP, как и Java, сначала транслирует код в опкоды. Только если Java сохраняет байткод в .class, то PHP — нет. Для этого и существует OPcache.

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

💡 Решение:
Добавить \ перед вызовами глобальных функций (\explode(), \strlen() и т.д.), тем самым указывая интерпретатору сразу на нужное пространство.

🔬 Бенчмарки:
Проведено сравнение двух версий кода — с бэкслешами и без:

0.576μs → без бэкслешей
0.536μs → с бэкслешами

Разница — 7%, или 40 наносекунд. Мизер? Да. Но в случае 1000+ вызовов — уже ощутимо. В контексте фреймворков, обрабатывающих сотни запросов в секунду, это может суммарно повлиять.

🛠️ Что делать:
• Включить в проекте PHP-CS-Fixer с правилом native_function_invocation
• Или приучиться добавлять \ вручную
• Для любителей хардкора — реанимировать устаревший PHP_CodeSniffer с нестабильным плагином

📌 Вывод:
Это не про магию ускорения. Это микрооптимизация, и в большинстве случаев она не даст серьёзного прироста. Но она точно иллюстрирует, как работает PHP под капотом — и где теряется время.

🔗 Хабр

Библиотека пхпшника
  • 👍 7
  • ❤ 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 →