Мне нужны предложения о том, как ускорить доступ к программам на Python при вызове из Golang. Мне действительно нужно быстрое время доступа (очень низкая задержка).
Подход 1:
func main () {
...
...
cmd = exec.Command ("python", "test.py")
o, err = cmd.CombinedOutput ()
...
} * +1010 *
Если мой файл test.py является базовой программой печати "HelloWorld", время выполнения превышает 50 мс. Я предполагаю, что большую часть времени это для загрузки оболочки и питона в память.
Подход 2:
Вышеупомянутый подход может быть значительно ускорен, если Python запустит HTTP-сервер, а затем с помощью кода Go отправит POST HTTP-запрос и получит ответ от HTTP-сервера (Python). Ускоряет время отклика до 5 мс.
Я думаю, главная причина этого, вероятно, в том, что интерпретатор python уже загружен и нагрелся в памяти.
Существуют ли другие подходы, которые я могу использовать аналогично подходу 2 (совместно используемая память и т. Д.), Который может ускорить ответ от моего кода на python ?. Наше приложение требует очень низкой задержки, и те 50 мс, которые я сейчас наблюдаю при использовании exec-пакета Golang, не собираются его сокращать.
спасибо,