Задать вопрос

Можно ли передать что-то на обработку в Go из PHP?

Всем известно что php довольно медленно работает с текстовыми строками особенно регулярками. Ну с 5.6 по крайней мере дела именно так обстоят.
Для проекта полностью на Go нужен другой вебсервер и вообще другая архитектура проекта.
Можно ли передать с помощью exec() или любых других костылей обработку строк передать языку побыстрее, а потом получить от него готовый результат?
Если не с Go то может с питоном такое прокатит и как в этом случае организовать отправку <-> получение?
  • Вопрос задан
  • 179 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 4
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Ответ написан
Комментировать
@spotifi
Неужто не существует для PHP модулей обработки регулярных выражений в native binary code? Да быть этого не может.
Будет и проще и эффективнее на порядок.
Ответ написан
@Maa-Kut
Советую задаться вопросом: у вас настолько много текстовой обработки и она настолько сильно тормозит? Дело в том, что вызов чего-либо exec'ом и или через предложенный тов. evnuh ZeroMQ - штука отнюдь не бесплатная. Есть серьезный риск, что накладные расходы на обращения к внешним программам перекроют все выгоды.

Иными словами, если у вас там просто накапливается большой пул строк, которые можно одним пакетом передать на внешнюю обработку - есть смысл париться. А вот если ваша цель - заменить кучу разбросанных по коду preg_match'ей (или что там в пыхе) на свою функцию, "ускоренную" Go или Python'ом, то не советую.
Ответ написан
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Зачем вообще что-то куда-то передавать, тогда уже обрабатывайте на го/питоне/чем угодно.

PHP-то зачем сюда вмешивать в таком случае? Вместо выигрыша получите еще медленнее решение, только сложнее в два раза.

Ну, а если прям очень хочется делать кашу, то поднимите на GO небольшой вебсервер который по http принимает запросы на обработку и отправляйте туда запросы из PHP.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы