PHP8 Benchmark the Brainfuck Way
Исходный код демо этой статьи можно найти на моем Github:GitHub.com/KA Peopleski/P…
Был выпущен PHP8 с совершенно новым захватывающим механизмом JIT-компиляции.Согласно официальной документации: «В синтетических тестах производительность примерно в 3 раза выше, в некоторых конкретных долго работающих приложениях — в 1,5–2 раза выше. с PHP 7.4.».
Официальные результаты тестов производительности выглядят следующим образом:
Так какова фактическая ситуация?
Поэтому я написал простой тестdemo, это порт с языка Goмозговой языкустный переводчик.
Исходный код См.:run.phpКстати, он также содержит реализацию BrainFuck.множество Мандельброта, Программа состоит в том, чтобы запустить программу, написанную brainfuck, для генерации множества Мандельброта с использованием интерпретатора языка brainfuck, написанного на PHP, Затем время и сравнение его производительности.
Конфигурация моей машины: Intel(R) Xeon(TM) E5-2680v2 @2,8 ГГц.
PHP 8.0.0 не открывает результаты J IT-тестирования
PHP 8.0.0 позволяет получать результаты JIT-тестирования
в заключении
Из тестовых данных требуется 6 м20,973с без включенного JIT, и 2m48.527s с включенным JIT. Из этого результата теста производительность улучшается в 2,26 раза. Демо-программа проводит большую часть времени.foo++;\`\`\`, \`\`\`foo--;```, операция поиска и присвоения массива, наиболее логика ```op_inc_dp```, то есть ```$dataPtr++;``` выполняется 4 453 036 023 раза.
Что касается результатов этого теста, улучшение производительности за счет внедрения JIT в PHP 8 является значительным. тесты. Очень слабый. Неизвестно, является ли улучшение производительности незначительным, потому что JIT все еще находится в зачаточном состоянии, или потому, что WordPress является существующим проектом, и код не может быть оптимизирован для JIT. график пламени) для исследований и суждений.
Как старый пользователь, который все время использовал PHP 4, его чувства к PHP сложны. PHP теперь не хватает сильной экосистемы для пробуждения. Это требует совместных усилий большинства разработчиков PHP. С нетерпением ждем лучшей производительности PHP в будущем .
Reference
- The Original brainfuck interpreter source code
- The mandelbrot set fractal viewer in brainfuck written by Erik Bosman