Did You Know? PHP Optimizes These Function Calls for You!

https://phpc.tv/w/78gbmWxniE4cP2oPAF7Wfb

Did You Know? PHP Optimizes These Function Calls for You!

PeerTube
Ich habe meine #Webseite als #Testinstanz auf meinen #rootServer kopiert und etwas mit der #Performance / den #Ladezeiten getestet, weil ich auf dem Root-Server im Gegensatz zum #Webspace alle Möglichkeiten wie #APCu, #OPCache, #Redis, #Apache Config etc. habe, die Performance zu optimieren.

#Speedtests für Webseiten ergeben auf der Testinstanz ein etwas höheres Ranking. Aber immens ist die Steigerung nicht und ich habe noch nicht herausgefunden, ob /wie ich bei #Joomla von den vollumfänglichen Möglichkeiten des #Caching noch besser profitieren könnte. Man kann in Joomla selbst für das Caching wählen zwischen "aus", "Standard" und "erweitert". Bei aktiviertem Caching zwischen "Datei", "ACPu" und "Redis". Derzeit habe ich "erweitert mit ACPu" auf der Testinstanz aktiviert. Auf dem Webspace geht nur "Datei".

Wenn ich den Seitenaufruf subjektiv vergleiche, empfinde ich keinen erkennbaren Unterschied.

Mir geht's übrigens dabei nicht darum, die Ladegeschwindigkeit durch Veränderung der Webseite zu optimieren (ich weiß, dass ich zu viele Skripte und Designspielereien für eine optimierte Ladegeschwindigkeit nutze), sondern die Überlegung, auf welchem
#Server (Webspace oder root-Server) ich die Webseite künftig betreibe.

Mich würde daher mal interessieren, ob ihr einen Unterschied wahrnehmt, ob und wo sich die Webseite geschmeidiger / flüssiger anfühlt:

https://www.crazy-to-bike.de
https://test.crazy-to-bike.de

Wäre nett, wenn das möglichst viele testen und über die Umfrage Rückmeldung geben würden. Vielen Dank
🙏

Bitte auch
#Boost für mehr #Reichweite
https://www.crazy-to-bike.de läuft flüsiger
0%
https://test.crazy-to-bike.de läuft flüsiger
0%
Ich kann keinen Unterschied feststellen
0%
Poll ended at .
Crazy-to-Bike

Crazy to Bike - Bikeguiding and more

@team

Ich habe gehofft, dass diese #nextcloud Warnung mit dem Update auf die neue Plattform verschwinden. Kann man daran was tun?

#php #opcache #mariadb #manitu #webhosting

You’ve probably seen `use function strlen` in PHP and shrugged.

But here’s the twist: in certain cases, it activates a special compiler optimization in PHP that makes some functions significantly faster.

This is your eureka moment! Here’s how it works, when it matters, and how to adopt it easily: https://tideways.com/profiler/blog/compiler-optimized-php-functions?utm_medium=social&utm_source=mastodon&utm_campaign=compiler-optimized-php-functions

#php #opcache #compileroptimization #phptips #webdev #coding #programming #performance

@karinjiri #php people, this means in our language: clear your #opcache!

Thinking about turning on OPcache Preloading in your PHP app?

It sounds like an easy win—but unless your app is already lightning fast, you might not see much benefit.

In our latest post, we dig into:

- What preloading actually does
- When it’s useful (and when it’s not)
- Real-world gains with hard numbers

Check it out! https://tideways.com/profiler/blog/should-you-use-opcache-preloading-in-your-php-app?utm_medium=social&utm_source=mastodon&utm_campaign=should-you-use-opcache-preloading-in-your-php-app

#PHP #OPcache #Performance #WebDev #Backend #DevTips #Tideways

How can one force #PHP to ignore a huge file for #OPcache? Ideas welcome https://github.com/loupe-php/loupe/pull/144 (without configuring the blacklist in the ini settings of course)
Disable OPcache by default by Toflar · Pull Request #144 · loupe-php/loupe

I want to disable storing the state set in OPcache by default for the reasons described in the docs. However, the current solution won't work because this affects all other scripts loaded after...

GitHub

To double quote or not, that's the question!

🔍 #PHP string interpolation occurs at compile-time, not runtime

🏎️ #SingleQuotes vs #DoubleQuotes debate: negligible performance difference

💻 #OPcache is crucial for optimizing PHP performance

🔧 #Lexer handles string interpolation during tokenization

🧠 #AST and opcode generation treat single and double quotes similarly

📊 #StringConcatenation options: interpolation, comma separation, or dot operator

Key takeaway: Use the latest #PHP version, enable #OPcache, and choose quotes based on readability, not micro-optimizations.

https://dev.to/realflowcontrol/too-double-quote-or-not-thats-the-question-78l

To double quote or not, that's the question!

Just recently I heard again that PHP folks still talk about single quotes vs. double quotes and that...

DEV Community

Схематично, простыми словами о внутреннем устройстве PHP (Zend Engine, OPCache, JIT)

Данный пост нацелен на неопытных PHP-специалистов. От этой информации лучше программировать вы не станете. Ожидаемая польза: Мне когнитивно и морально легче, когда уменьшается «магия» с тем с чем работаешь. Может тебе тоже Возможно чуть-чуть реже статьи на хабре будут тебя отпугивать Объясню на 4 примерах — каждый лишь немного сложнее предыдущего. Пример 1: запуск программы, написанном на компилируемом языке (Go): в полной статье Пример 2: Запуск скрипта PHP без OPCache и JIT В интерпретируемых языках подразумевается, что выполнение программы будет осуществляться не сразу машинного кода. В случае PHP — запускается именно исходной код. Это означает, что каждый запуск программы система должна проанализировать исходный код и преобразовать его в понятный код для процессора (т.е. в машинный код). Вот схематично представил всю последовательность работы PHP скрипта без включенных OPCache и JIT (каждый из них по отдельности рассмотрим в следующих двух примерах).ache** и JIT (каждый из них по отдельности рассмотрим в следующих двух примерах). У нас привычный «исходный код» PHP (файл hello-world.php ): <?php echo "Hello world"; Опять идем по порядку, рассмотрим какие процессы происходят запустив команду: php hello-world.php Процесс №1 — Компиляция в байт-код Сначала исходный код обрабатывается Zend Compiler — это PHP компилятор . Первый из двух основных компонентов Zend Virtual Machine . В отличие от рассмотренного выше компилятора Go: задача PHP компилятора — преобразовать исходный код не в машинный код, а в код-посредник - байт-код ; процесс компиляции происходит при каждом запуске программы (вместо лишь единоразового - до запуска программы, как в примере с Go) В случае PHP этот байт-код назвали PHP OPCode . Байт-код — более низкоуровненный чем исходный код, содержащий набор команд для интерпретатора (об интерпретаторе в следующем пункте). Байт-код не может выполняться процессором напрямую. Чтобы посмотреть результат работы компилятора — сам байт-код — выполним команду: php -d opcache.opt_debug_level=0x20000 -d opcache.enable_cli=1 hello-world.php Получим: $_main: ; (lines=3, args=0, vars=0, tmps=1) ; (after optimizer) ; /hello-world.php:1-2 0000 EXT_STMT 0001 ECHO string("Hello World") 0002 RETURN int(1) Вначале видим $_main: — обозначает, что следующие строки относятся к функции main . Появление такой функции в байт-коде для глобальной области видимости PHP — занятная историческая особенность, дошедшая из других языков; Следующие 3 строки начинаются на ; — так обозначаются комментарии. Одна из целей — для дебаг-информации; Последние 3 строки — непосредственно код нашего приложения, который будет выполняться виртуальной машиной в следующем шаге. Процесс №2 — Выполнение байт-кода

https://habr.com/ru/articles/844768/

#PHP #zend_engine #opcache #jit #интепретатор #компилятор #байткод #машинный_код

Схематично, простыми словами о внутреннем устройстве PHP (Zend Engine, OPCache, JIT)

Простыми словами о внутреннем устройстве PHP Введение Данный пост нацелен на неопытных PHP-специалистов. От этой информации лучше программировать вы не станете. Ожидаемая польза: Мне когнитивно и...

Хабр

Wochenrückblick, Ausgabe 39 (2024-18).

Diesmal mit

- 🗺️ der Bikerouter Hall of Fame _aller_ Supporterinnen bisher ❤️
- 🚵‍♂️ neuen Reifen für das Crosser-Gravel-Dings und der ersten Ausfahrt damit – unter Anderem zu Deutschlands größter (!) Wüste (!!)
- 💻 den Erkenntnissen von @atomicpoet zur Ergonomie beim Arbeiten mit dem Notebook vs. Desktop-Computer und wie sich das mit meinen Erfahrungen deckt
- 🤖 ollama, welches die Möglichkeit bietet, LLMs bequem auf dem eigenen Rechner laufen zu lassen
- 🐘 cachetool, einem Werkzeug zum Verwalten des PHP opcache
- 🍎 dem Blick in mein macOS-Applications-Directory: diesmal gibt's den Blick auf alle Apps, die mit „F“ beginnen
- 🛠️ noch mal Deployment des Blogs, das läuft jetzt tatsächlich mit einem simplen `post-merge` Hook in Git
- 🔊 und wie immer Techno

#BikeRouter #Gravel #CycloCross #Spreewald #DahmeSpreewald #Wüste #Ergonomie #Notebook #Desktop #ollama #cachetool #PHP #opcache #macOS #Git #Techno

https://www.marcusjaschen.de/blog/2024/2024-18/

Rückblick Kalenderwoche 2024-18

Eine kleine Zusammenfassung der Dinge, die mir in der Kalenderwoche 18 widerfahren sind.

Marcus Jaschen