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
Форумы портала PHP.SU :: Версия для печати :: PHP с исполняющим кодом на с++
Форумы портала PHP.SU » » Вопросы новичков » PHP с исполняющим кодом на с++

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

1. JamesHound - 04 Декабря, 2013 - 14:06:56 - перейти к сообщению
Есть функция которая является "Узким местом" в сценарии. Хочу данную функцию переписать на С++ и исполнять ее уже на компилированном языке. Слышал о такой вещи как FastCGI при помощи которой можно запустить компилируемые языки в веб технологии. Просто хотел услышать совет, кто то делал что то типа такого?
2. Мелкий - 04 Декабря, 2013 - 14:23:22 - перейти к сообщению
FastCGI - разновидность CGI.
CGI - интерфейс между веб-сервером и другим приложением. Любым, который умеет CGI.
В частности - сам PHP может работать в CGI.

Путём манипуляций из PHP, конечно, можно запустить CGI:
0) реализовать собственную серверную часть протокола CGI
1) настроить веб-сервер на запуск по CGI вашего плюснотого приложения и curl'ом идти на свой же веб-сервер.

В зависимости от объёма передаваемых данных для С++, проще exec сделать.

JamesHound пишет:
Хочу данную функцию переписать на С++ и исполнять ее уже на компилированном языке.

Как вариант - написание модуля PHP. OrmaJever может поделиться своим не совсем удачным опытом.
3. AmsTaFF - 04 Декабря, 2013 - 14:58:41 - перейти к сообщению
JamesHound
Это же что-ж за обработка такая на PHP, что вы хотите на C++ написать её? А можно хотя бы псевдокодик этой ф-ции, или же весь код
4. JamesHound - 04 Декабря, 2013 - 15:53:45 - перейти к сообщению
Да это обычный similar_text($inA[$i],$Elem4S,$Percent4);# Сравнение из 4-эл.

Который тратит 90% времени всей раборты скрипта, т.к ему нужно обработать около 1млн строк.

levenstein() - работает чуть быстрее,но все равно.
5. Мелкий - 04 Декабря, 2013 - 16:06:37 - перейти к сообщению
И чего вы хотите добиться переписыванием одной скомпилированной и оптимизированной сишной функции своей на плюсах (далеко не факт, что более оптимальной)?

Какова исходная задача?
6. JamesHound - 04 Декабря, 2013 - 16:15:10 - перейти к сообщению
Исходная задача сравнить строки на похожесть. Да, тут ты прав. Что то я не учел что встроенные функции уже откомпилены. Тогда задача становится распараллеливать процесс для ускорения.
7. Мелкий - 04 Декабря, 2013 - 18:27:43 - перейти к сообщению
JamesHound пишет:
Исходная задача сравнить строки на похожесть

По каким критериям и для чего?
Я почему спрашиваю - скорей всего есть удовлетворяющие условию задачи способы сократить исходный набор данных на порядок-другой.
Не допустить дублирования информации - повесьте hash-индекс и сможете быстро находить заведомо идентичные тексты и прерывать выполнение.
Или выкинуть из входного потока все слова общеупотребительной лексики, затем, натравив Sphinx или ещё чего-нибудь, найти подмножество текстов, затрагивающие эту конкретную тему.
Может, Sphinx подойдёт сам по себе для решения.

 

Powered by ExBB FM 1.0 RC1