Компилятор PHP в байт код Си

BoyStav
На сайте с 10.11.2006
Offline
182
#51
Слава Шевцов:
О чём и речь. Если же глянуть внутрь кода, то мы увидим в этих участках интерпретируемый байт-код. Интерпретатор этого кода встроен в программу.

даже так? 10 символов

примерчик можно?

П.С. это действительно интерес, а не ирония... жду примера

вобще я не С++ программист, я больше по С# в последние годы, там вся эта хрень реализуется виртуальной машиной.

N
На сайте с 06.05.2007
Offline
419
#52

Слава Шевцов, эт вы бросьте. все волшебство в C++ ограничивается RTTI http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D1%82%D0%B8%D0%BF%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85#C.2B.2B

и я бы не сказал что это такой уж тормозящий якорь.

Ну и виртуальные методы похоже реализованы. К некоторым указателям еще и тип хранится. Причем тут интерпретируемый байт-код ?

Кнопка вызова админа ()
L2
На сайте с 24.09.2008
Offline
10
#53
Слава Шевцов:
...кроме топикстартера. Но мы ведь детей не обижаем?

а без понтов не как??

[Удален]
#54
netwind:
Слава Шевцов, эт вы бросьте. все волшебство в C++ ограничивается RTTI http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D1%82%D0%B8%D0%BF%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85#C.2B.2B
и я бы не сказал что это такой уж тормозящий якорь.
Ну и виртуальные методы похоже реализованы. К некоторым указателям еще и тип хранится. Причем тут интерпретируемый байт-код ?

виртуальные методы реализованы способом, похожим на интерпритируемый... но я уже не вижу, чтобы кто-то высказывался по сабжу... малость тему давно сменили все

"возможности реализовать компиляцию слоботипизированного яву в машынный байт код" и почему-то проводятся параллели с с++, который строго типизирован... думаю тут стоит обрать внимание на что-то другое. к примеру http://ru.wikipedia.org/wiki/Python

N
На сайте с 06.05.2007
Offline
419
#55
MOP1:
виртуальные методы реализованы способом, похожим на интерпритируемый.

и вы тоже курите. никакого псевдокода и виртуальной машины (обязательных атрибутов интерпретатора ) там нет. погуглите "с++ таблица виртуальных методов".

тип объекта указывает на таблицу, а в таблице адреса методов в обычном машинном коде. это относительно быстро работает.

[Удален]
#56
netwind:
и вы тоже курите. никакого псевдокода и виртуальной машины там нет. погуглите "с++ таблица виртуальных методов".
тип объекта указывает на таблицу, а в таблице адреса методов в обычном машинном коде. это относительно быстро работает.

я это и имел в виду :)

таблица создается динамически. во время компиляции неизвестна структура таблицы.

быстро-то -быстро, но памяти жрет много

N
На сайте с 06.05.2007
Offline
419
#57

MOP1, вы не погуглили. в вики есть оценка замедления и она всего лишь 6-13%

памяти жрет по одной таблицы на каждый класс, но не на экземпляр класса.

http://ru.wikipedia.org/wiki/%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2

edogs software
На сайте с 15.12.2005
Offline
775
#58
neolord:
Чем меньшую часть времени занимают НЕ БД-операции, при том же времени выполнения - тем лучше написан код, вам не кажется? Один из разработчиков PHP выкладывал когда-то в своем блоге демонстрацию, как ускорить скрипт с 17 проходов в секунду чуть ли не до тысячи. http://talks.php.net/show/phpclub/0
первые 15-17 страниц посвящены этой теме. Потом уже другое, но тоже кстати очень познавательно.

neolord, Вы в своём репертуаре, безаппеляционно несете чушь:)

В-первых, в веб-приложениях подразумевается не только "хороший пхп код", но и "хорошая работа с базой". То что Вы написали сортировку "массива" на пхп очень быстро, это конечно круто, но соотношения 95%/5% (база/пхп) Вам удастся достичь только если Вы совсем через одно место сделали выборку данных для сортировки из БД.

Во-вторых, спасибо конечно за ссылку. Но кроме заголовка "get rich with php, increase speed of script into 100 times" Вам неплохо было бы и содержание прочитать, прежде чем рекомендовать ее как "демонстрацию оптимизации php кода для ускорения в 100 раз". Оптимизация кода говорите? Изначально скрипту нужно было 100 серверов. Отключаем ssl в postgre и включаем постоянные коннекты к базе, получаем уже 5 серверов. Переходим на мускул и включаем в нем кэш, получаем 3 сервера. Включаем apc на полную и получаем 2 сервера. (до 1 сервера с 2 действительно немного пхп кодом дошли, но на общем фоне это смешно и не заметно). Вся оптимизация считайте просто настройки сервера, при чем самый большой кусок - это настройка работы с БД.

Ufaweb:
А может признак гениальности кодера, чей движок отрабатывает за 5% времени? :)

"Движок" простите отрабатывает 100% времени:) Странно считать "движком" только чистый пхп код. Движок это и пхп код и работа с базой.

Хотя ситуация на самом деле знакомая аж до боли (мы иногда занимаемся оптимизацией чужих скриптов). Классический пример 95/5 соотношения это старушка phpnuke 7-ых версий, которая легчайшей правкой работы с БД превращается в 50/50, а то и 30/70 соотношение.

В пхп коде вообще трудновато накосячить так, что бы время выполнения значительно увеличилось. Так что рассказы о "виртуозном владении пхп так, что он работает в 9 раз быстрее и получается 95/5 вместо 50/50" нас как-то не особо цепляют. А вот работа с БД (обратите внимание, именно работа с БД в целом, а не просто "запросы") как раз очень частый повод для оптимизации, при том результат может впечатлять, даже если работу с БД писал вполне себе нормальный программер не наделавший сильных косяков.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
[Удален]
#59
edogs:
но соотношения 95%/5% (база/пхп) Вам удастся достичь только если Вы совсем через одно место сделали выборку данных для сортировки из БД.

А еще говорят две головы лучше чем одна.

Как у вас с арифметикой? Давайте посчитаем.

Допустим что фетчинг (включая вывод и сопряженные операции) данных из БД уже достаточно профилирован и оптимален. И он выполняется ну пусть (грубо) 0.5 секунд

При соотношении 50/50 Весь скрипт выполняется секунду, при соотношении 80/20 - 0.625 секунды, при 95/5 - 0.525 секунды . При одинаковом результате - какой вариант лучше? Вы не с того конца смотрите на мои слова. Высокий процент соотношения говорит только о быстроте php-части и ни о чем другом

[Удален]
#60

хоолли вар!!!

программисты на программистов!!!

зы: сорри, не удержался

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий