Схема работы HipHop for PHP
|
Разработчики Facebook обнародовали проект HipHop for PHP, который
превращает код на языке PHP в код на языке C++. Последний компилируется
в обычное приложение, которое выполняется гораздо быстрее, чем сценарий
на PHP. В развитии проекта могут принять участие все желающие —
Facebook раскрыл его исходные коды.
HipHop for PHP помог крупнейшей социальной сети в мире вдвое снизить
нагрузку на процессор на ее веб-серверах и ускорить показ 400 миллиардов
PHP-страниц в месяц. Тем самым значительно снизились требования к числу
серверов, а следовательно, и расходы компании.
Разработка HipHop for PHP заняла два года. В настоящее время проект
содержит 300 тысяч строк кода и прошел свыше пяти тысяч тестов. HipHop
for PHP работает с некоторыми ограничениями, запрещая некоторые слишком
сложные для перевода на C++ или медленные конструкции PHP.
PHP — один из самых популярных языков веб-разработки. В том числе авктивно используется в ЦВТ.
Метки: разработка по
В продолжении темы: есть проект Phalanger (http://php-compiler.net), который позволил прийти языку программирования PHP во вселенную .NET. Phalanger – это компилятор PHP в IL-код. Проект активно развивается, и скоро разработчики обещают выпустить новый релиз (предыдущий был в декабре 2008).
Проект Phalanger это:
* Компилятор phpc;
* Среда исполнения программ, написанных на PHP;
* Расширение языка PHP/CLI;
* Компоненты интеграции с Visual Studio.
Компилятор phpc позволяет компилировать PHP код в режиме совместимости (Legacy compilation mode), либо в режиме «чистый .NET» (pure .NET compilation mode). Режим совместимости позволяет любому вашему коду для родного интерпретатора компилироваться и работать без каких-либо проблем. Режим «чистый .NET» привносит более тесную интеграцию с .NET framework – можно использовать код, написанный на PHP/CLI, в других приложениях .NET.
PHP/CLI дополняет PHP такими родными для мира .NET фичами, как генерики, атрибуты и партиал классы (pure mode).
Новый релиз сулит нам следующие вкусности:
* Поддержка спецификации PHP версии 5.3.1;
* «Утиная» типизация для, еще более тесной, интеграцией с .NET;
* Улучшенная интеграция с VS, с поддержкой IntelliSense;
* Поддержку Silverlight 2.0;
* И, конечно же, исправление багов, найденных с предыдущего релиза.
Также Phalanger уже поддерживает
* Разработку WinForms приложений;
* Разработку и отладку Silverlight 1.1 приложений;
* ASP.NET 2.
Phalanger совместим со множеством бесплатных CMS, движков блогов и прочих PHP приложений. Данный проект, возможно, будет полезен тем, кто хочет постепенно изучить платформу .NET Framework и/или перейти на неё полностью c PHP.
(скопипастино отсюда: http://blog.hazzik.ru/2010/01/php-net.html)
Роман Корнеев,
На мой взгляд, этот Phalanger — такая "вещь в себе". Практической пользы я в нем не вижу. Хочешь получить качественный код на .NET — пиши на соответствующих языках, к чему лишние извращения? Интересно, пожалуй, только с точки зрения реализации (у самого однажды была мысль адаптировать один малоизвестный язык для .NET — просто чтобы лучше разобраться в технологии).
А HipHop for PHP, как я понимаю, имеет совсем другую цель — не адаптация под программную платформу, а повышение производительности кода, только и всего :)
Я особо не вникал в возможности Phalanger, но думаю, его можно использовать с такой же целью как HipHop for PHP. Или другой вариант: есть сайт на PHP, и библиотека классов на .NET. И стоит задача использовать классы из этой библиотеки в сайте на PHP, это можно добиться переведя проект PHP на платформу .NET и затем на прямую работать с этой библиотекой. Хотя есть и другой вариант: написать Web Service, т.е. дополнительный уровень абстракции между сайтом на PHP и библиотекой на .NET.. в общем полет фантазий можно продолжать сколько угодно ))