Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PHP компилятор

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
darl
Отправлено: 11 Июля, 2013 - 20:09:13
Post Id


Новичок


Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Приветствую всех, кто нибудь пользовался компилятором php и каким?
Имеется у меня сложный php скрипт, который запускается по времени и хорошо грузит процессор, хотелось бы его откомпилировать в exe, чтоб увеличить скорость и снизить нагрузку. Подскажите пожалуйста советом или направьте в нужное русло.
 
 Top
DelphinPRO
Отправлено: 11 Июля, 2013 - 20:17:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




нет таких. php - интерпретируемый язык.

Для десктопных приложений существуют специальные инструменты. Из бесплатных - Lazarus (правда еще один язык учить придется Улыбка)

PS DevelStudio в расчет не беру, ибо это не совсем php (или вовсе не php, хоть и похоже) Улыбка

(Отредактировано автором: 11 Июля, 2013 - 20:18:15)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
EuGen Администратор
Отправлено: 11 Июля, 2013 - 20:20:22
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




HPHP
?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
darl
Отправлено: 11 Июля, 2013 - 20:43:46
Post Id


Новичок


Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Про HPHP читал, но там тоже есть свои подводные камни и пока не особо стабильно работает.
Чем разбираться в этих всех утилитах и подводных камней, думаю так и придется переписать этот скрипт на Си, как раз поближе и познакомлюсь с этим языком.
 
 Top
caballero
Отправлено: 11 Июля, 2013 - 21:04:07
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




переписывание на C еще не означает что перестанет грузить
если по уму то сначала надо найти чего именно грузит

может и переписывать не придется

Цитата:
как раз поближе и познакомлюсь с этим языком

Си это не PHP там надо очень хорошо уметь програмировать а не просто познакомится. Иначе будет целый букет проблем начиная от мемори ликов заканчивая рантайм ошибками доступа к памяти которые будешь вылавливать неделями. не говоря уже о намного более трудоемкой разработке. Или ты думаешь что Си это как PHP только в exe файл компилится

(Отредактировано автором: 11 Июля, 2013 - 21:04:25)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
darl
Отправлено: 11 Июля, 2013 - 21:14:25
Post Id


Новичок


Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)




Я знаю, что не все просто. У меня просто уже есть небольшой опыт программирования на Си
 
 Top
Stierus Супермодератор
Отправлено: 12 Июля, 2013 - 13:11:27
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




darl, тем не менее, определить узкие места перед переписыванием, стоит Улыбка Php- быстрый язык, не недооценивай его.

Цитата:
который запускается по времени и хорошо грузит процессор
php интерпретируется один раз и потом выполняется, если ты пишешь неоптимальный код, переписывание этого же неоптимального кода на си, теме не поможет.
 
My status
 Top
EuGen Администратор
Отправлено: 12 Июля, 2013 - 13:19:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




caballero пишет:
Си это не PHP там надо очень хорошо уметь програмировать

Пожалуй, с этим не совсем согласен. Дело не в том, что Си - требует хорошего умения программировать. Дело лишь в том, что он требует от программиста самостоятельного контроля памяти. Это, с одной стороны, даёт возможность очень выборочной оптимизации, но с другой стороны, заставляет думать о многих вещах, которые с этим связаны. Возможность выборочной оптимизации управления памятью не потребуется, думаю, в 99% случаев - по сравнению с теми языками, где этот контроль переложен с программиста на сам язык, то есть в 99% случаев приобретётся дополнительная проблема (управление памятью) - и приобретётся совершенно зря (ведь эта оптимизация могла бы с таким же успехом быть выполнена без участия программиста, если бы речь шла о языке, где есть встроенный контроль памяти).

Конечно, я не утверждаю, что Си плох. Я лишь считаю, что кастомизация работы с памятью потребуется в очень узкоспециализированных задачах, да и там это не сильно превзойдёт работу автоматического контроля. Умение же программировать и уметь работать с памятью - хоть и пересекающиеся задачи, но всё же не совпадающие. Я бы сравнил необходимость в Си (то есть действительно необходимость в полном смысле - когда нельзя обойтись без этого) - со случаями, когда, например, в СУБД Oracle нужно делать подсказки планировщику и эти подсказки действительно улучшают план запроса.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
caballero
Отправлено: 12 Июля, 2013 - 14:36:15
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Дело не в том, что Си - требует хорошего умения программировать. Дело лишь в том, что он требует от программиста самостоятельного контроля памяти.

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

Цитата:
Возможность выборочной оптимизации управления памятью не потребуется,

не очень понял что такое в данном контексте "выборочная оптимизация" но управление памятью там нужно всегда даже неоптимизорованное - там нет автомтического сборщика. Зато есть указатели прямо на адреса памяти за которыми надо следить. Конечно использование готовых библиотек типа STL или bootstrap а тем более сред програмирования типа CBuilder сильно упрощает дело. Но все равно - достаточного одного косяка с указателем и получаем трудноуловимую ошибку. не говоря уже о типизации - привыкшим писать на скриптовых языках это будет нехилый напряг.

Если по теме - не думаю что проблема загрузки проца изза PHP. В PHP выполняется байткод как в яве или .NET. А байткод проектируется так чтобы интерпретироватся и выполнятся очень быстро. Скорее всего либо програма неграмотно написана либо теребует множественных вычислений и/или работы с памятью. А это останется проблемой в любом языке.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
EuGen Администратор
Отправлено: 12 Июля, 2013 - 14:47:58
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




caballero пишет:
не очень понял что такое в данном контексте "выборочная оптимизация" но управление памятью там нужно всегда даже неоптимизорованное - там нет автомтического сборщика. Зато есть указатели прямо на адреса памяти за которыми надо следить. Конечно использование готовых библиотек типа STL или bootstrap а тем более сред програмирования типа CBuilder сильно упрощает дело. Но все равно - достаточного одного косяка с указателем и получаем трудноуловимую ошибку. не говоря уже о типизации - привыкшим писать на скриптовых языках это будет нехилый напряг.

Наверное, неясно выразился. Да, там всегда нужно управление памятью. И я рассматриваю эту необходимость с двух сторон. Первая - преимущество: программист имеет возможность сильной кастомизации расхода памяти, то есть это потенциальная возможность сократить расход памяти (если знать, что делать). Вторая - недостаток - программист должен следить за памятью всегда, а не только тогда, когда собирается что-либо оптимизировать в операциях с ней. Так как современные сборщики мусора и другие менеджеры памяти уже очень развиты, то плюс от преимущества почти нивелируется - потому что автоматические системы и без участия программиста почти всегда хорошо работают с памятью. Вот и получается, что, беря заботу о памяти на себя, программист в 99% случаев ничего не приобретает по сравнению со случаем, если бы эта работа делалась автоматически. Оставшийся 1% - это те задачи, когда вручную действительно можно предложить более грамотную работу с памятью, чем если бы это было сделано автоматически.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DlTA
Отправлено: 12 Июля, 2013 - 14:52:18
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




ТС, интересно, а что делает скрипт?
 
 Top
vanicon
Отправлено: 12 Июля, 2013 - 15:02:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




caballero пишет:
В PHP выполняется байткод как в яве или .NET. А байткод проектируется так чтобы интерпретироватся и выполнятся очень быстро. Скорее всего либо програма неграмотно написана либо теребует множественных вычислений и/или работы с памятью. А это останется проблемой в любом языке.

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


-----
Так было, так есть и так будет
 
 Top
LIME
Отправлено: 12 Июля, 2013 - 15:11:27
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




vanicon пишет:
в несколько раз медленнее
это ты сильно сильно хватил
с чего такое мнение?
 
 Top
vanicon
Отправлено: 12 Июля, 2013 - 15:12:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




LIME
Ну потому что байт код исполняется виртуальный машинной, а машинный код исполняется самим процессором...


-----
Так было, так есть и так будет
 
 Top
caballero
Отправлено: 12 Июля, 2013 - 15:19:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Думаю вам известно что байт код какой виртуальной машинной бы он не выполнялся, хоть ява или нет, он все ровно будет в несколько раз медленнее исполнятся чем машинный код...

не в несколько раз потому что кроме преобразования в байт код производится также оптимизация выполнения самого алгоритма. кроме того в той же яве для большинства платформ байт код перед выполнием преобразуется в машинный код а потом выполняется.
С другой стороны компилятор С тоже не всегда генерит оптимальный ассемблерный код 9особенно беслатные компиляторы типа gcc). Иногда (например в микроконтроллерах ATMEL) машинный код изначально проектируется так чтобы его проще было генерить компилятором С за счет меньшего удобства ручного написания. В процах типа X86 исторически так сложилось код больше пригоден для написания ассемблера вручную но хуже для генерации компилятором.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB