2016-06-29 2 views
1

фон:
У меня есть PHP-сервер хостинг RESTful API, который возвращает изображение, когда функция /апи/GenerateImage называется. Для достижения этой цели мне нужна самая быстрая и минимальная память.Быстрый доступ к интенсивной функции из PHP?

Идеи:
Я могу думать о нескольких способов достижения этой цели:

  1. записать его полностью в PHP - изображение требует много манипуляций байт и он чувствует себя плохо, чтобы сделать это в PHP.
  2. Напишите непрерывную программу C# и используйте API для генерации изображения и копирования потока ответов клиенту с помощью PHP. Вам нужно избегать накладных расходов на ненужные соединения сокетов.
  3. Напишите программу командной строки C/C++, которая при вызове генерирует и сохраняет изображение в файле, которое PHP читает и отправляет. Необходимо избегать накладных расходов из-за запуска программы, записи в файл и последующего чтения ,
  4. Запишите его на C/C++ и используйте оболочку библиотеки PHP для вызова функции непосредственно с PHP. Кажется, это самая быстрая, но сложная задача для одной функции.
+1

Уважаемый пользователь, который голосовал, чтобы закрыть, позаботиться о том, чтобы объяснить почему? Вопрос отвечает всем предложениям на https://stackoverflow.com/help/how-to-ask и ясен и имеет ответ. – Hele

ответ

2

Два наиболее очевидные решения мне кажется, отсутствуют в вашем наборе опций: расширение GD

  • Используйте PHP.
  • Использование imagemagick.

Являются ли эти практические варианты, зависит от того, что именно вы должны делать с изображением. Если это просто статические изображения, вам ничего не нужно, просто подайте их в виде файлов с вашего веб-сервера. Тот факт, что вам нужен какой-то код для создания изображения, подразумевает, что изображение динамически генерируется.

Если ни один из них не подходит, то я бы сказал: ваше последнее (четвертое) решение будет самым быстрым, но модифицированная версия вашего третьего решения будет проще: напишите программу из командной строки, которая вернет данные изображения в stdout и вызвать это из PHP.

Смежные вопросы