Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Этап интерпретирования, зависмость времени от объема кода 
V
    Опции темы
Dima50
Дата 28.8.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 20.10.2007

Репутация: 1
Всего: 2



Привет

Не кто не знает примерной зависмости количества времени интерпретировния от количества кода? 

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

Как вобще интерпритатор действует:

1) интерпитирует весь код файла целиком.

2) Или просто отмечает где начало функций, а уже при вызове функции нужной функции начинает интепретировать ее текст.





Это сообщение отредактировал(а) Dima50 - 28.8.2009, 19:36
PM MAIL   Вверх
icewind
Дата 28.8.2009, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: 20
Всего: 20



Это совсем не то о чем надо задумываться!
Код разный бывает и скорость интерпретирования зависит не от количества, а от качества кода. И вообще оптимизировать и парится на счет производительности нужно только в том случае когда часть кода действительно замедляет время выполнения скрипта.
Переоптимизированный скрипт хуже венигрета  smile 


--------------------
user posted image
PM MAIL Skype   Вверх
solenko
Дата 28.8.2009, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Dima50, наблюдая ваши последние темы, мне кажется, вы переходите на рнр с другого языка программирования....  Если не секрет, с какого (а вдруг кто-то сможет строить примеры на аналогиях)?

По поводу времени:
1. Скрипт компилируется в байткод, который кешируется. Если не кешиутеся, увольте либо себя, либо сисадмина.
2. Оптимизироваь стоит то, что является узким местом. Да, echo 'Hello'.' '.'word'; медленнее чем echo 'Hello',' ','word' или echo 'Hello word' -- вопрос только в том, что разницу вы заметите только при выводе этого сообщения N раз в цикле. Опытный разработчик может (правда не всегда верно) предсказать узкие места конкретного прилодения. Ну а длч новиччков могу посоветовать только родно -- набивать собственные шишки (раз нет конкретного вопроса) и _измерять_ где именно ваше приложение тормозит.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 29.8.2009, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



соглашусь с solenko, но от себя добавлю: в реальном проекте(а не сферическом, в вакууме) будет работа с БД, файловой системой или сетью. Или же все сразу. В этом случае даже накладные расходы(к примеру, установление соединения с серверов БД или резолвинг доменного имени в IP) для необходимого функционала(записи данных в базу или сбора RSS) должны(это мое убеждение, к сожалению, замеров я не проводил) оказаться намного значительнее затрат на парсинг(естественно, время выполнения отпарсенного кода никак не зависит от объема - только оит заложенной в код логики). и это без учета кеширования.
PM MAIL   Вверх
Dima50
Дата 29.8.2009, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 20.10.2007

Репутация: 1
Всего: 2



Цитата(icewind @  28.8.2009,  21:23 Найти цитируемый пост)
Переоптимизированный скрипт хуже венигрета  smile  


Это точно.



Цитата(solenko @  28.8.2009,  23:28 Найти цитируемый пост)
Dima50, наблюдая ваши последние темы, мне кажется, вы переходите на рнр с другого языка программирования....  Если не секрет, с какого (а вдруг кто-то сможет строить примеры на аналогиях)?


С С++. И раньше писал на php, но не особо вдаваясь в подробности: Работатет да и ладно.

Есть такой анекдот: 
Студент спрашивает у профессора "Профессор скажите вы когда спите бороду под одеялом держите или над одяелом?". Профессор отвечает "Даже не знаю. Подумать надо...". Через неделю профессор с красными глазами ловит студента и кричит "Ты что гад наделал, мне и так не спиться и этак уснуть не могу".

Вот что-то подобное с этим вопросом про время интерпретации.  только роль профессора и студента выполняю я сам.
По идее вопрос для прикладной работы не имеет значение, да и есть куча акселераторов корыте кешируют, которые полностью снимают подобную проблему.

Но вот праздный интерес про работу интерпретатора не дает покоя. 

Особенно когда смотришь на 2 мегабайта (а то и больше) кода фреймворков. Возникает мысль когда это все интерпретироваться успевает?


Это сообщение отредактировал(а) Dima50 - 29.8.2009, 10:50
PM MAIL   Вверх
SneG0K
Дата 29.8.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Цитата(Dima50 @  29.8.2009,  09:05 Найти цитируемый пост)

Но вот праздный интерес про работу интерпретатора не дает покоя. 

Почитай "Профессиональное программирование на PHP Дж. Шлоссенгейл" пятую часть. Там как раз рассказывается о работе интерпритатора и о том, как писать расширения для PHP

Добавлено через 11 минут и 52 секунды
Цитата(Dima50 @  29.8.2009,  09:05 Найти цитируемый пост)
Возникает мысль когда это все интерпретироваться успевает?

PHP-код сначала транслируется в op-codes. Потом вся эта муть передается зенд машине и та уже интерпритирует код. Тут только можно повозмущаться по-поводу подключаемых файлов, если их много, и они не кешируются, то каждый раз все заново будет интерпретироваться. От этого спасают например ionCube или Zend
PM WWW Skype   Вверх
Dima50
Дата 29.8.2009, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 20.10.2007

Репутация: 1
Всего: 2



Цитата(SneG0K @  29.8.2009,  11:06 Найти цитируемый пост)
Почитай "Профессиональное программирование на PHP Дж. Шлоссенгейл" пятую часть. Там как раз рассказывается о работе интерпритатора и о том, как писать расширения для PHP


Advanced PHP Programming Schlssnagle G. - этак книга у меня месяца 4 лежала на рабочем столе ждала совего череда smile Книжка и в правду хорошая. Меня смущал 2004 года. Но после этой рекомендации будем внимательно изучать.

Спасибо за информативный пост.

PM MAIL   Вверх
SneG0K
Дата 29.8.2009, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Dima50, в принципе все, что в ней есть, есть и в других книгах, но пятая часть почти уникальна. Подобная информация водится очень редко. Думаю, что буду блог забивать этой инфой.
PM WWW Skype   Вверх
nerezus
Дата 29.8.2009, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Этап компиляции в байткодл резкий как понос относительно времени  исполнения байткода. Так что никаких проблем быть не должно с этим.

И вообще на серверах есть кэш байткода, так что просто не задумывайся над этим.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.