Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Php -> С(++)
цитата
28/07/08 в 11:43
 freeek
возник один момент,

часть кода, написанного на пхп, исполняется к примеру около 30с
если его перепеситать на С или С++ или что там для этого подойдет,

а потом, как я понимаю он будет работать как cgi, инклудить его в основной скрипт на пхп

---------------------?
1. реален ли такой подход
2. увеличение быстродействия (не нашел статистики)
3. платно, сколько стоит переписать с пхп на С (пхп ~ 20строчек)
4. если самому, стоит ли заморачиваться или нет
если да, то
а. где взять читабельные внятные маны
б. какой использовать софт
----------------------
цитата
28/07/08 в 12:00
 Alexs
а чем тебя собственно perl неустраивает ?
цитата
28/07/08 в 12:04
 freeek
не знаю icon_smile.gif
первое что пришло в голову, это С
+ ковырялся в разных доках по оптимизации, там предложили такой вариант,
+ опять же все орут, что для ускорения лучше всего С

а что перл? быстрее
цитата
28/07/08 в 12:13
 Corex
Ещё можно не как cgi исполнять, а сделать либу для PHP и из PHP вызывать функцию(-ии). Если в ПХП тормозят всего лишь 20 строчек, то это не проблема/тормоза интерпретации, а уже проблема языка/библиотек и в таком случае не факт, что вариант на сях будет работать шустрее.
Есть смысл переписывать под сишник либо большие алгоритмы, которые будут долго интерпретироваться, либо сложные и часто используемые блоки кода. А если по пунктам:
1. Вполне реален, такое нередко практикуют крупные проекты и мощные софт-пакеты.
2. Многократное, если правильно сделать. Одно дело сначала распознавать php-код, затем его интерпретировать и только потом выполнять. А другое - сразу выполнять, причём в оптимизированном виде.
3. Зависит от кода. Цифр не знаю, но главное это не кол-во строк, а алгоритм, используемые функции, работа с памятью и безопасность. Может занять час-два, а может и несколько дней.
4. Если почти не работал с сишником, то самому не стоит лезть.
цитата
28/07/08 в 12:21
 Alexs
ты задачу обрисуй потомучто решений может быть уйма

к примеру я анализировал лог апача на php тормазило жутко
тоже самое на perl работает за 2 секунды
цитата
28/07/08 в 12:21
 xreload
Все зависит от задачи.
цитата
28/07/08 в 12:24
 freeek
задача простая,

последовательно создать соединения с различными хостами (к примеру порядка 20) по средством сокет соединений, отправить http запросы и получить ответы. все

уменьшение тайм уайта дает ощутимый прирост, но не во всех случаях
цитата
28/07/08 в 13:16
 Corex
freeek:
Мне кажется, что это не тот случай, когда нужно переписывать под сишник. Основная часть работы, http-запросы, выполняется как раз либой php_sockets, которая на тех самых сях и писана. Даже если написать весь 20-ти ступенчатый цикл http-запросов только на си, то разницы почти не будет.
Лучше оптимизировать алгоритм на самом PHP - использовать задержки, либо поэтапно выполнять запросы и т.п.
цитата
28/07/08 в 14:44
 freeek
Corex писал:
freeek:
Мне кажется, что это не тот случай, когда нужно переписывать под сишник. Основная часть работы, http-запросы, выполняется как раз либой php_sockets, которая на тех самых сях и писана. Даже если написать весь 20-ти ступенчатый цикл http-запросов только на си, то разницы почти не будет.
Лучше оптимизировать алгоритм на самом PHP - использовать задержки, либо поэтапно выполнять запросы и т.п.


хорошо, учту
впринципе сам к этому склоняюсь, и даже родилась идея, что можно попробовать, пока сощдавал топик, но хоть вопрос прояснился

всем пасиб, оценил
цитата
28/07/08 в 16:20
 JM
curl тебе поможет


Эта страница в полной версии