Pull to refresh

Comments 10

PHP конечно страдает от отсутсвия нативной паралельности и наверняка есть много задач в которых FFI спасает. Но все-таки для приведенного примера гораздо проще было бы использовать традиционный подход - засунуть все урлы в curl_multi и читать их по готовности, думаю тогда разница по времени будет значительно менее заметна.

ну и даже на PHP уже давно есть асинхронное программирование с промисами

Вот блин, зарегался для того чтобы сказать, что пример не удачный - юзай curl )

Да ни от чего он не спасает. Или вы реально думаете, что те кто написал гавнокод на пхп, сделают мастерские вещи на си/раст/го/whatever ?

Скорее накостылят костылей накостыльных потому что "начальство сказало".

Имхо, очень узкоспециализированная штука вышла. Как показывают примеры, где php+jit обгоняют вариант с ffi — там скорее всего медленная передача параметров в/из с какой-нибудь непростой трансляцией типов. Т.е. применять в случаях где часто-часто вызывается функция невыгодно.
А после какого-то порога, где функция вызывается редко, но делает долгие и тяжелые вычисления — гораздо больше плюсов даст создание интерфейса через http, позволив отвязать язык/окружение вызывающей стороны от исполняющей. Между этими порогами остается не такой уж большой простор для применения ffi.

Параллельность же выполнения в однопоточных языках реализуется через многопроцессное выполнение и это, имхо, ничуть не сложнее. Да процессы тяжелые относительно легковесных вариантов нитей/корутин, но для общего круга задач вполне подходят.

Так получается надо знать уже не один язык программирования, ну так себе история

Ну это прям детсад. В битриксе уже давно есть хайлоад блоки, пользуйтесь ими

Sign up to leave a comment.