The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Избран управляющий совет, который будет руководить разработкой Perl, opennews (??), 23-Дек-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


60. "Избран управляющий совет, который будет руководить разработк..."  +/
Сообщение от Аноним (59), 24-Дек-20, 01:27 
>>Несли бы ещё поддержку параллельного программирования завезли...
>Все завезено давно. EV, AnyEvent, Coro.

Вы из какой школы? Когда Coro стал работать в параллельном режиме и забыл асинхронное выполнение? Или вам пояснить двух словах в чем разница? Ок, поясняю, в асинхронном режиме блокирующие операции работают последовательно с "прыжками" от одной точки входа к другой и так до тех пор пока весь код не выполнится и только в рамках одного процессора (ядра). В параллельном режиме _любые_ две и более операций выполняются _одновременно_ за счет использования вообще всех процессоров (ядер).

Тут я не делал отдельной ремарки про работу ядра в SMP, где асинхронный код может менять процессоры/ядра (если они есть), но по факту используется только один процессор (ядро). Чтобы добитьтся параллельности асинхронного кода нужно запускать отдельный процесс или поток. При этом добавляется проблема синхронизации процессов/потоков, что ни EV, ни AE, ни Coro не решают (да в Coro есть возможность дергать семафоры, но всеравно это ручная работа), а не аналог готового и всеми известной либы по параллельному программированию OpenMP. Дайте hello world для Coro с такой же простотой как тут:

#include <omp.h>
  
#include <stdio.h>
#include <stdlib.h>
  
int main(int argc, char* argv[])
{
  
    // Beginning of parallel region
    #pragma omp parallel
    {
  
        printf("Hello World... from thread = %d\n",
               omp_get_thread_num());
    }
    // Ending of parallel region
}


https://www.geeksforgeeks.org/openmp-hello-world-program/

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

62. "Избран управляющий совет, который будет руководить разработк..."  –1 +/
Сообщение от Злюка (?), 24-Дек-20, 01:50 
omp - это очередное фреймворк-ненужно для неосиливших threads?
Ответить | Правка | Наверх | Cообщить модератору

63. "Избран управляющий совет, который будет руководить разработк..."  +/
Сообщение от Аноним (59), 24-Дек-20, 01:54 
>omp - это очередное фреймворк-ненужно для неосиливших threads?

Есть еще MPI. Только дело не в том, кто что осилил, а в задачах. Чел выше просил либу/модуль для параллельного программирования. В коробке перл его не дает. Есть такое https://metacpan.org/pod/Parallel::MPI

Ответить | Правка | Наверх | Cообщить модератору

69. "Избран управляющий совет, который будет руководить разработк..."  +/
Сообщение от Приличный Аноним (?), 24-Дек-20, 13:56 
> В коробке перл его не дает.

Не дает и правильно делает.
Перл прекрасен в парсинге и обработке данных, написании скриптов автоматизации.
Я не много писал на Perl, да и вообще программирование лишь хобби, но все же:
https://gitlab.com/pieu/report
https://gitlab.com/pieu/mud-bots
Требовательные к ресурсам вычисления явно не ниша интерпретируемых языков.

Если бы его не потеснил PHP, уверен, что сейчас бы он был языком №1 в вебе.
Да и в вебе необходимость параллельных вычислений, лично у меня, вызывает большое сомнение необходимости.
Ожидающие ресурса и занимающие память процессы заменяются на еще большее кол-во процессов использующих ресурс и создающих еще большую нагрузку на сервер, который и без того прекрасно распараллеливал процессы между клиентами. Сомнительная выгода на нагруженных серверах имхо ...

А omp действительно мне показалась не библиотекой, а каким-то "фреймворк не нужной вещью".
Понятно, что если оно существует, значит кому-то нужно.
И, как всякий приличный аноним, даю ссылку на свой гитлаб с кодом использующим threads :^)
https://gitlab.com/pieu/socks5-proxy

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру