Comments 10
PHP конечно страдает от отсутсвия нативной паралельности и наверняка есть много задач в которых FFI спасает. Но все-таки для приведенного примера гораздо проще было бы использовать традиционный подход - засунуть все урлы в curl_multi и читать их по готовности, думаю тогда разница по времени будет значительно менее заметна.
ну и даже на PHP уже давно есть асинхронное программирование с промисами
Вот блин, зарегался для того чтобы сказать, что пример не удачный - юзай curl )
Да ни от чего он не спасает. Или вы реально думаете, что те кто написал гавнокод на пхп, сделают мастерские вещи на си/раст/го/whatever ?
Скорее накостылят костылей накостыльных потому что "начальство сказало".
Тема stream_select не раскрыта.
А после какого-то порога, где функция вызывается редко, но делает долгие и тяжелые вычисления — гораздо больше плюсов даст создание интерфейса через http, позволив отвязать язык/окружение вызывающей стороны от исполняющей. Между этими порогами остается не такой уж большой простор для применения ffi.
Параллельность же выполнения в однопоточных языках реализуется через многопроцессное выполнение и это, имхо, ничуть не сложнее. Да процессы тяжелые относительно легковесных вариантов нитей/корутин, но для общего круга задач вполне подходят.
КДПВ суровое, конечно.
Так получается надо знать уже не один язык программирования, ну так себе история
Ну это прям детсад. В битриксе уже давно есть хайлоад блоки, пользуйтесь ими
ПуFFIндуй. Волшебная палочка или грабли в PHP