Если я правильно понимаю, что вы написали правильно, веб-сервер отправляет запросы вашей программе на C++ и вы хотите, чтобы приложение PHP считывало данные, сделав веб-запрос на веб-сервер, который, в свою очередь, пересылает запрос на программу C++ для обслуживания ответа.
Вот три идеи для повышения скорости этой установки:
Рассмотрим с использованием потокового парсер для разбора данных, считанных из гнезда. Это позволит вашему приложению PHP начать потреблять и обрабатывать данные, прежде чем все данные будут прочитаны из сокета.
Многие библиотеки JSON не предлагают API для анализа потокового разбора (см. Is there a streaming API for JSON?). Например, встроенные JSON-интерфейсы PHP не работают. Но см. Incremental JSON parsing in php.
PHP имеет встроенный синтаксический анализатор XML, XMLReader. Если ваша C++-программа сгенерировала XML-данные, вы можете использовать XMLReader в PHP для постепенного анализа XML, что означает, что вашему PHP-приложению не нужно ждать, пока данные будут полностью загружены.
Если ваша программа на С ++ читает JSON из файла и отправляет содержимое файла через сокет, рассмотрите возможность использования zero-copy I/O. См. Также vmsplice().
Если программа C++ и ваше приложение PHP работают на одном сервере, вы можете использовать сегмент разделяемой памяти. Это исключило бы необходимость передачи данных по сокету, потому что программа C++ и приложение PHP имели бы доступ к сегменту памяти. Программа C++ записывает все данные в сегмент разделяемой памяти, а затем приложение PHP будет читать данные.
Для получения дополнительной информации см. PHP Semaphore functions.
«Самый быстрый» означает «быстро его перевести» или «быстро его перерабатывать»? Вы можете экспериментировать с основными алгоритмами сжатия и временем ваших ответов. –
Быстрое переключение и обработка его быстро ... Но чем больше я думаю об этом, я бы сказал, что время обработки на самом деле, почему я действительно хочу уменьшить – Arcyno
. Вы должны взглянуть на Googles Protobuf. –