Есть тяжеловесный цикл который выполняется 8 секунд. В теле цикла происходит обращение к таблицам базы данных, перебор результатов.
После цикла массив данных пачкой возвращается пользователь(JSON, REST API).
Вопрос: как можно ускорить получение результат, помогу ли асинхронные запросы например используя библиотеку AMP.
Если асинхронные запросы помогу, какой тип асинхронных запросов выбрать для решения задачи:
Event Loop, Promises, Coroutines, Iterators, Streams
foreach ($this->config->getProductClasses() as $code => $className) {
$product->$code = $className::init([
'container' => $this->container,
'code' => $code,
'em' => $this->container->get($this->config->getConnectionName()),
])->findByProductId($resource->productId);
}