Size: a a a

2020 April 01

AP

Alex Peresmeshnik in Lisp Forever
Но опять подчеркну, со своим оверхедом
источник

AP

Alex Peresmeshnik in Lisp Forever
Alexey Egorov
А то мы как-то незаметно от компиляции sbcl на лету, про которую я так и не понял, что это, перешли к программе на срр, которая запускает какие-то циклы и запоминает PID.
Так суть в том, чтобы отцепить написанную реализацию функции в полностью отдельный процесс, не зависимо от родительского. Родительский знает только PID :)
источник

AE

Alexey Egorov in Lisp Forever
Alex Peresmeshnik
Так суть в том, чтобы отцепить написанную реализацию функции в полностью отдельный процесс, не зависимо от родительского. Родительский знает только PID :)
То есть некая отдельная функция будет жить в своём собственном процессе?
источник

AP

Alex Peresmeshnik in Lisp Forever
Alexey Egorov
То есть некая отдельная функция будет жить в своём собственном процессе?
да
источник

AP

Alex Peresmeshnik in Lisp Forever
Как это правильнее сделать - это уже отдельное интересное обсуждение, как раз пример с эрланга можно взять, если я ничего не перепутал
источник

AE

Alexey Egorov in Lisp Forever
Перепутал.
источник

AE

Alexey Egorov in Lisp Forever
В Эрланге один процесс.
источник

AE

Alexey Egorov in Lisp Forever
Зато несколько системных тредов (по количеству доступных процессоров), в каждом из которых работает свой шедулер, который уже управляет совсем легковесными тредами Эрланга, и эти легковесные треды живут полностью в Эрланге, система про них не знает вообще ничего.
источник

AP

Alex Peresmeshnik in Lisp Forever
Alexey Egorov
В Эрланге один процесс.
Да действительно, все в рамках виртуальной машины эрланг
источник

AP

Alex Peresmeshnik in Lisp Forever
источник

AE

Alexey Egorov in Lisp Forever
И когда программист пишет многопоточный код на Эрланге, то код в конечном счёте выполняется именно внутри зелёных тредов, а на то, на каком системном потоке он будет выполняться, программист вообще повлиять не может.
источник

AE

Alexey Egorov in Lisp Forever
Ну и да, спавнить процессы — чрезвычайно дорого.
источник

AE

Alexey Egorov in Lisp Forever
И взаимодействие между ними также очень медленное.
источник

AP

Alex Peresmeshnik in Lisp Forever
Alexey Egorov
Ну и да, спавнить процессы — чрезвычайно дорого.
Ну вот питоновариант с мультипроцессингом в одном проекте сильно зашел, не смотря на дороговизну. Тема была завязана с CUDA и самым простым решением оказалось положить все на плечи системы.
источник

AP

Alex Peresmeshnik in Lisp Forever
Я значит ошибочно предполагал, что в эрланге так же, но шустрее
источник

AP

Alex Peresmeshnik in Lisp Forever
Alex Peresmeshnik
Я значит ошибочно предполагал, что в эрланге так же, но шустрее
Повелся на заявления что систему можно горизонтально расширять по сети :)
источник

AE

Alexey Egorov in Lisp Forever
Alex Peresmeshnik
Ну вот питоновариант с мультипроцессингом в одном проекте сильно зашел, не смотря на дороговизну. Тема была завязана с CUDA и самым простым решением оказалось положить все на плечи системы.
Мультипроцессинг это не плохо, и конечно он повсеместно встречается. Он гораздо универсальнее. Он дорогой по сравнению с тредами.
источник

AE

Alexey Egorov in Lisp Forever
А системные треды — по сравнению с зелёными тредами.
источник

AE

Alexey Egorov in Lisp Forever
Alex Peresmeshnik
Повелся на заявления что систему можно горизонтально расширять по сети :)
Её можно горизонтально расширять по сети.
источник

AE

Alexey Egorov in Lisp Forever
И в Эрланге очень хороший именно RPC, в том числе сетевой.
источник