The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

14.12.2015 12:06  Сравнение производительности PHP 7.0, PHP 5.6.16 и HHVM 3.10.1

Инженеры одного из хостинг-операторов, специализирующегося на размещении сайтов на базе WordPress, опубликовали результаты оценки производительности PHP 7.0 в сравнении с прошлой веткой PHP 5.6 и развиваемой инженерами Facebook виртуальной машины HHVM (HipHop Virtual Machine), снабжённой JIT-компилятором. Следует отметить, что стабильный выпуск HHVM 3.10.1 не является полностью совместимым с PHP 7.0, базовая совместимость с PHP 7.0 пока обеспечена только в экспериментальной ветке HHVM 3.11.

Тестирование проводилось с использованием WordPress 4.3.1, Drupal 8, Magento 2.0 CE, OctoberCMS build 309, PyroCMS v3 beta2, Laravel 5.1.11 и Flarum v0.1.0-beta.4. Во всех тестах, за исключением Laravel, наибольшую производительность продемонстрирвоал HHVM, но отставание PHP 7.0 было не столь существенным, как в случае использования PHP 5.6. Например, в тесте Magento PHP 7.0 и HHVM продемонстрировали 183.87 и 192.19 транзакций в секунду, а в WordPress - 357.69 и 306.24. В тесте Laravel PHP 7.0 даже обогнал HHVM. Тест форумом Flarum провести не получилось, так как его не удалось запустить с HHVM и PHP 7. В тесте Drupal 8 разрыв в производительности оказался почти в два раза 1739.28 у HHVM против 917.10 у PHP 7.0.



  1. Главная ссылка к новости (https://kinsta.com/blog/the-de...)
  2. OpenNews: Проект Wikipedia перешёл на использование HHVM для выполнения PHP-кода
  3. OpenNews: Facebook открыл код транслятора из языка Hack в PHP. Обновление PHP 5.6.3, 5.5.19 и 5.4.35
  4. OpenNews: Facebook представил Hack, вариант языка PHP со статической типизацией
  5. OpenNews: Facebook анонсировал виртуальную машину HipHop и JIT-компилятор для языка PHP
  6. OpenNews: Релиз языка программирования PHP 7.0
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: php, hhvm, benchmark
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 12:14, 14/12/2015 [ответить] [смотреть все]
  • +1 +/
    Жаль JIT не вошёл в PHP 7, но зато есть куда двигаться в PHP 8.
     
     
  • 2.3, Anik, 12:29, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]
  • +2 +/
    Может тогда уж сразу переходить на HHVM и не ждать PHP 8?
     
     
  • 3.46, Keltanas, 17:05, 15/12/2015 [^] [ответить] [смотреть все]
  • +/
    А вы пробовали использовать его в продакшене не перезапуская каждые пол часа?
     
  • 3.48, SubGun, 08:11, 17/12/2015 [^] [ответить] [смотреть все]
  • –1 +/
    Он валится от каждого чиха Там, где php просто в лог ошибку пишет, hhvm падает ... весь текст скрыт [показать]
     
  • 2.49, Аноним, 13:19, 18/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Лучше пусть SIMD адаптируют, JIT не поможет.
     
  • 1.2, noname.htm, 12:26, 14/12/2015 [ответить] [смотреть все]  
  • –1 +/
    Жаль, что Jommla! в тест не попала.
     
     
  • 2.24, Нанобот, 17:37, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    и битрикс
     
     
  • 3.45, Georges, 15:07, 15/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Битрикс не работает на PHP 7.0.0
     
  • 1.4, index.php, 12:30, 14/12/2015 [ответить] [смотреть все]  
  • +/
    Неплохо
     
  • 1.5, Аноним, 12:39, 14/12/2015 [ответить] [смотреть все]  
  • –10 +/
    О как Слышал от знакомого пхпешника, что скорость PHP уже можно сравнить с С ... весь текст скрыт [показать]
     
     
  • 2.6, Аноним, 12:45, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +41 +/
    > Слышал от знакомого пхпешника, что скорость PHP уже можно сравнить с С++

    С кодом на C++, написанным пехапешником? Верю.

     
     
  • 3.50, Ostrich, 03:22, 25/12/2015 [^] [ответить] [смотреть все]  
  • +/
    АХахахахаха
     
  • 2.7, Йода Мастер, 13:16, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    сравнить-то, конечно, можно.
    на 30-40% медленнее в сравнении 50-60% пхп5
     
  • 2.8, Аноним, 13:48, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +8 +/
    Лет десять назад, кажется, в моде было утверждение, что Java код на ассемблере обгоняет.
     
     
  • 3.9, гость, 13:52, 14/12/2015 [^] [ответить] [смотреть все]  
  • +4 +/
    Код написанный на С++, обгоняет сам себя, переписанный на PHP. О, как!
     
  • 3.15, rob pike, 14:29, 14/12/2015 [^] [ответить] [смотреть все]  
  • –4 +/
    Смотря какой код. За счет JIT в определенных случаях запросто может обгонять.
     
     
  • 4.21, Аноним, 15:09, 14/12/2015 [^] [ответить] [смотреть все]  
  • +7 +/
    JIT'ов написаны уже сотни, но что-то на практике этих "определйнных условий" так ни у кого и не наступило. Забудьте, никогда никакие JITы, а тем более в динамически типизированных языках не обгонят нормальный скомпилированный код.
     
     
  • 5.28, rob pike, 18:43, 14/12/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Про LuaJIT не слышали?
     
  • 5.32, Аноним, 19:02, 14/12/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Срочно гуглить LibJit.
     
  • 3.22, Нимано, 15:23, 14/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Особенно если его написал тот же жабо-программист В 2005 уже был GCC4 Обогнат... весь текст скрыт [показать]
     
     
  • 4.36, anonymous, 22:34, 14/12/2015 [^] [ответить] [смотреть все]  
  • +3 +/
    Да-да Как-то пришло ко мне одно чудо с заявой что его программа на жабе быстрее... весь текст скрыт [показать]
     
  • 2.47, Sen, 15:00, 16/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Бесспорно, взять PHP и сравнить эту программу с C на каком нибудь IBM PC AT 28... весь текст скрыт [показать] [показать ветку]
     
  • 1.10, Аноним, 14:05, 14/12/2015 [ответить] [смотреть все]  
  • +1 +/
    т е движение в сторону типизации строгости языка и внесения ясности, сказываетс... весь текст скрыт [показать]
     
     
  • 2.13, Штунц, 14:22, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    честно говоря, не ясно, зачем вообще нужны языки без строгой типизации неужто вс... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.14, тоже Аноним, 14:25, 14/12/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Всего лишь забота о программистах, у которых в противном случае 10 типового скр... весь текст скрыт [показать]
     
     
  • 4.27, Crazy Alex, 18:18, 14/12/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    А где они столько строкового ввода берут, на который отдельный код надо писать, ... весь текст скрыт [показать]
     
     
  • 5.33, тоже Аноним, 19:18, 14/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Ну, например, сырые данные из БД - это таки строки Которые, вполне возможно, ... весь текст скрыт [показать]
     
     
  • 6.34, DeadMustdie, 20:47, 14/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Это вы где-то ядреной травы покурили Другое дело, что веб-разработка имеет дело... весь текст скрыт [показать]
     
     
  • 7.38, тоже Аноним, 22:45, 14/12/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Речь про РНР. Функции РНР возвращают результаты из БД в виде массива строк.
     
  • 7.43, cmp, 03:07, 15/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Время программулек, которые брали строковые аргументы из шелл, конвертили как им... весь текст скрыт [показать]
     
  • 6.35, анонимус, 21:32, 14/12/2015 [^] [ответить] [смотреть все]  
  • +/
    не из БД, а из MySQL, но да ее впрочем и БД то назвать сложно.
     
     
  • 7.37, тоже Аноним, 22:42, 14/12/2015 [^] [ответить] [смотреть все]  
  • +/
    А самой распространенной БД в интернете - еще сложнее. Но придется.
     
  • 5.39, angra, 00:05, 15/12/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Ну вот тебе простая задача получить от пользователя два числа, перемножить их и... весь текст скрыт [показать]
     
     
  • 6.41, Аноним, 02:15, 15/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    А теперь учти, что вместо чисел от пользователя может прийти мусор и нужно корре... весь текст скрыт [показать]
     
     
  • 7.44, angra, 03:39, 15/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Ты не поверишь, но никакого падения не произойдет perl -E say ARGV 0 AR... весь текст скрыт [показать]
     
  • 3.17, rob pike, 14:34, 14/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Сравните Template Haskell и reader macros в LISP - начнете догадываться ... весь текст скрыт [показать]
     
     
  • 4.25, Crazy Alex, 18:11, 14/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Одну экзотику с другой, причём обе вообще не относятся к делу? Зачем?
     
     
  • 5.29, rob pike, 18:46, 14/12/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Для понятности.


     
  • 3.19, Blind Vic, 14:48, 14/12/2015 [^] [ответить] [смотреть все]  
  • +4 +/
    Вы не путаете строгую типизацию со статической?
     
  • 3.20, Нимано, 14:51, 14/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    > зачем вообще нужны языки без строгой типизации

    Т.е. по вашему, Си не нужен – зато "да здравствует питон!"? 0_o

     
  • 3.23, Аноним, 15:55, 14/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Ага, вместо var _GET id нужно будет писать var int _GET id Трог... весь текст скрыт [показать]
     
     
  • 4.26, Crazy Alex, 18:13, 14/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Например. И получать эксепшн, если оно не преобразуется. Вполне имеющий право на жизнь вариант.
     
     
  • 5.30, rob pike, 18:49, 14/12/2015 [^] [ответить] [смотреть все]  
  • +/
    И не получать если преобразуется. Приехало "улица Ленина", положили в $last_name, порадовались статической типиизации, которая всех спасла.

     
  • 5.31, ram_scan, 18:52, 14/12/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Лучше выловить эксепшн, чем потом в продакшне выяснять какого полового органа оно задним числом погоду в унитазе посчитало из-за того что одна обезьяна проверку ввода не сделала, а вторая вместо десятичной точки запятую поставила.
     
  • 5.40, Аноним, 01:38, 15/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Ну если вы хотите быть уверены что там именно int, то сейчас вы делаете проверку... весь текст скрыт [показать]
     
  • 1.11, Анонимный Grammar, 14:12, 14/12/2015 [ответить] [смотреть все]  
  • +1 +/
    А б*триксом протестировать слабо?
     
     
  • 2.16, тоже Аноним, 14:32, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Так уже: http://idea.1c-bitrix.ru/to-make-the-product-compatible-with-php7/
    (слеш в конце съедает местный парсер).
     
  • 1.12, george, 14:19, 14/12/2015 [ответить] [смотреть все]  
  • +/
    А что это за такие мегапопулярные цмс системы OctoberCMS PyroCMS ? Обычные цмски вроде битрикса жумлы и прочей нечести на HHVM видимо не запускаются(в силу отсутствия ПХПшных модулей) ? =)
     
     
  • 2.18, тоже Аноним, 14:39, 14/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Про битрикс ссылка выше, Джумла собирается выкатить версию 3.5 с заявленной поддержкой PHP 7 только к концу февраля.
    Так что - кто успел обеспечить совместимость, того и померили.
     
  • 1.42, Корабельная крыса, 02:18, 15/12/2015 [ответить] [смотреть все]  
  • +1 +/
    Ничего, что жрет на один скрипт HHVM (87MB), PHP 7.0 (16мб)?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor