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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Воспроизведение с++ вставок на PHP
JamesHound
Отправлено: 04 Декабря, 2013 - 14:06:56
Post Id


Новичок


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


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




Есть функция которая является "Узким местом" в сценарии. Хочу данную функцию переписать на С++ и исполнять ее уже на компилированном языке. Слышал о такой вещи как FastCGI при помощи которой можно запустить компилируемые языки в веб технологии. Просто хотел услышать совет, кто то делал что то типа такого?
 
 Top
Мелкий Супермодератор
Отправлено: 04 Декабря, 2013 - 14:23:22
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




FastCGI - разновидность CGI.
CGI - интерфейс между веб-сервером и другим приложением. Любым, который умеет CGI.
В частности - сам PHP может работать в CGI.

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

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

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

Как вариант - написание модуля PHP. OrmaJever может поделиться своим не совсем удачным опытом.


-----
PostgreSQL DBA
 
 Top
AmsTaFF
Отправлено: 04 Декабря, 2013 - 14:58:41
Post Id


Гость


Покинул форум
Сообщений всего: 84
Дата рег-ции: Июнь 2013  
Откуда: Россия, Москва


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




JamesHound
Это же что-ж за обработка такая на PHP, что вы хотите на C++ написать её? А можно хотя бы псевдокодик этой ф-ции, или же весь код
 
 Top
JamesHound
Отправлено: 04 Декабря, 2013 - 15:53:45
Post Id


Новичок


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


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




Да это обычный similar_text($inA[$i],$Elem4S,$Percent4);# Сравнение из 4-эл.

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

levenstein() - работает чуть быстрее,но все равно.
 
 Top
Мелкий Супермодератор
Отправлено: 04 Декабря, 2013 - 16:06:37
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




И чего вы хотите добиться переписыванием одной скомпилированной и оптимизированной сишной функции своей на плюсах (далеко не факт, что более оптимальной)?

Какова исходная задача?


-----
PostgreSQL DBA
 
 Top
JamesHound
Отправлено: 04 Декабря, 2013 - 16:15:10
Post Id


Новичок


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


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




Исходная задача сравнить строки на похожесть. Да, тут ты прав. Что то я не учел что встроенные функции уже откомпилены. Тогда задача становится распараллеливать процесс для ускорения.
 
 Top
Мелкий Супермодератор
Отправлено: 04 Декабря, 2013 - 18:27:43
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




JamesHound пишет:
Исходная задача сравнить строки на похожесть

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


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB