Форум → Программирование → PHP для идиотов → Расширения PHP → HHVM, Phalcon
HHVM, Phalcon
Страницы: ← Следующая страница →
-
Какой-то неадекват-спамер апнул довольно интересную тему http://pyha.ru/forum/topic/7481 . В ней парень хочет вынести некоторые частоиспользуемые и медленные куски кода в расширение на c.
Подход не новый. В Twig'е есть экстеншн, в котором реализована, пожалуй, наиболее частоиспользуемая ф-ция twig_get_attribute. Есть даже фреймворк Phalcon, который написан в виде сишного расширения к пыху. Причем он не такой уж и ебанутый, в нем есть и DI, и ORM'ка, и даже, темплейт энжин, похожий на твиг.
В тоже время, а есть ли смысл так извращаться? Ведь можно поставить HHVM или Zephir от тех же Phalcon'овцев и пхпшный код будет автоматром транслитерироваться в сишный.
Что вы думаете на это все? Пользовались ли уже в продакшене? Как по мне - очень перспективная тема. -
8 января 2014 г. 10:09, спустя 6 часов 44 минуты 55 секунд
Пользовались. Потом утечки памяти давили постоянно, а толку кот накакал.
Думаю, если это действительно часто вызываемый маленький кусочек, который легко на сях воспроизвести и это даст ощутимый прирост, то есть смысл.
А большой кусок логики переписывать, скорее всего смысла не имеет. -
8 января 2014 г. 15:01, спустя 4 часа 52 минуты 13 секунд
а толку кот накакал.
А как же подобные тесты http://www.hhvm.com/blog/1817/fastercgi-with-hhvm ? Брешут, собаки?) Или у тебя такой код специфический, что его hhvm не берет? -
8 января 2014 г. 15:48, спустя 46 минут 53 секунды
"пользовались" имел ввиду расширения для Ц писали.
ХХВМ не пользовались.
Не знаю, что у них за вордпресс в тестах.
Смотрю на свой - 95% времени на злоебучие запросы к базе уходит.
Ну, оптимизирует он мне оставшиеся 5% и толку то? -
9 января 2014 г. 7:54, спустя 16 часов 5 минут 55 секунд
Трансляцию в C++ делал HPHPc, предшественник HHVM. HHVM - это уже виртуальная машина, как та же JVM (байт-код, JIT-компиляция).
В продакшене не приходилось использовать, но в скором времени вполне возможно - там уже практически 100%-ая совместимость с 5.4 и 5.5.
Плюс радуют дополнительные фишки, типа scalar type hinting и generics. Основная проблема сейчас - отсутствие документации (т.е. её вообще нет, никакой), но вроде разработчики писали, что это среди основных приоритетов в этом году. -
8 февраля 2014 г. 7:54, спустя 29 дней 23 часа 59 минут
Работа веб-сайта/веб-сервиса это 95% работы с базой.
Если hiload там все по другому совсем.
Как сказал олег выше - толку то от оптимизации этих 5%? Учитывая что там будет boost ну скажем ОЧЕНЬ СИЛЬНЫЙ - 50%. Итого 5% от 50% - 2.5%, было 100, стало 97.5.
бред :)Сапожник без сапог -
9 февраля 2014 г. 16:05, спустя 1 день 8 часов 10 минут
Хз хз.
Примерно полгода назад проводил эксперимент: ради спортивного интереса запустил один legacy-проект на битриксе под HHVM. Завелось почти сразу. Пришлось пофиксить пару строчек в самом битриксе, но это пустяки. Больше ничего не трогал.
Ну так вот. Скорость генерации страниц увеличилась примерно в 1,5—2,5 раза. Подробных бенчмарков не делал, тупо было лень - смотрел время в dev tools браузера. Но результат был очевиден. Одна и та же машина, один и тот же код, одна и та же база, но работало быстрее.
Конечно, битрикс - это хуевый показатель, но всё-таки.
Для тяжелых фреймворков (ZF2, Symfony2, etc) прирост производительности тоже может быть заметным. Хотя, да, пока можно только гадать.Спустя 517 сек.
Кстати, новая презентация от разрабов.
Приводят графики производительности для Symfony2 и Magento.
+Scalar type hint (and much much more)
Async co-routines
Generics
Collections (smart arrays)
XHP (Integrated XHTML)
User Attributes
А так же про дебаггер и про написание расширений для PHP на самом PHP (трансляция в C++). -
9 февраля 2014 г. 19:16, спустя 3 часа 11 минут 8 секунд
@Timur, ссылка битая. Вообще как я погляжу, у многих после переписа пыхи вставляются битые ссылки -
-
-
9 февраля 2014 г. 21:26, спустя 4 минуты 40 секунд
так вернулся, что снова нету
Спустя 23 сек.
а, он же обещал не материться, поэтому нечего теперь писать :D -
9 февраля 2014 г. 22:18, спустя 51 минуту 36 секунд
Да надо просто допиливать bbcode парсер, он стремненький, так как ббкоды уже никому не нужны в мире видимо...
Если есть на примете что-то лучше или есть желание пофиксить текущий, то смотрите "forum/utils.py" и помогайте проекту
https://smappi.org/ - платформа по созданию API на все случаи жизни -
9 февраля 2014 г. 22:54, спустя 36 минут 23 секунды
тимур, я бы тебя процитировал да не вижу кнопки :D
Есть пара НО в твоем тесте.
Ты уверен что запускал код с опкод кешером любым? XCache/Apc/ZendOptimizer?
Смотрел статистику кешера? Хватало там памяти на кеширование? Проверялись ли mt у файлов?
Прирост может быть только ан нативных функциях, которые они могли переписать в хпхвм, вот в это верю, ибо нативки работают часто очень странно. Недавно переделывал один простой до боли класс-прокси, мой код на пхп который просто в массиве([][]) искал массив попадающий под необходимые условия работал не соврать бы, но раз в 15-или 30 ли даж быстрее чем array_filter.
Поэтому тесты не считаю пока не вижу environment ;)Сапожник без сапог -
9 февраля 2014 г. 23:35, спустя 41 минуту 14 секунд
@phpdude, не стану спорить :)
APC был включен, но профайлингом не занимался. В тот момент, я больше хотел убедиться что этот HHVM вообще работает. Так что это скорее просто «субъективное наблюдение», не более того.
По поводу источников прироста производительности - у них там вроде как JIT, вывод типов и т.д.
@Абырвалг, попробую ещё раз - http://dl.hhvm.com/resources/conf/2014/Hacking%20with%20HHVM.pdf
-
9 февраля 2014 г. 23:51, спустя 16 минут 16 секунд
@Timur, Если APC с дефолтными настройками, то на бирикс я полагаю их недостаточно))))
ну да пох, работает и хрен с нимСапожник без сапог
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!