Oleg
Необходимо форвардить
Oleg
Так что
Oleg
Сообщите, о чём конкретно я не имею понятия
Oleg
Раскройте мне глаза
Мерль
Каналы никак не гарантируют отсутствие дедлоков, только словить их сложнее
Маjко
В расте, его системе типов и deadlock detection
Маjко
Oleg
Anonymous
deadlock detection тоже не всегда работает
Anonymous
точнее никогда )
Vadim
@odomontois ты сам же написал что не особо але как оно внутри компилятора раста в чем проблема?)
Маjко
точнее никогда )
В го работает)
Но там от гонок данных больше боли чем от дедлоков
Oleg
Oleg
Как я буду развиваться, если каждая токсичная крыса будет прятаться и отмазываться вместо отстаивания позиции
Anonymous
Мерль
миф)
Ну шо значит миф
Если у тебя все гринтреды встали раком, то приложение у тебя запаникует и упадёт.
Влод
да, так и надо. гораздо скучнее было бы если бы тут все помогали новичкам, делились новостями и тд
Oleg
грустно, когда ты не прав, но тебе не говорят в чём, просто поправляют федору, стряхивают пепел и уходят в туман
Sherzod
Обожаю троллирование <3
Влод
кажется сегодня я извлёк для себя что-то полезное. не зря состою в тг чатиках
Oleg
Loyd
Loyd
Канал это мьютексованная очередь, она платная: очевидно, если ты со стека решил что-то передать потребителю канала, то это что-то скопировать
Влод
ну они не спасают от дедлоков, но чем меньше шаришь стейта – тем предсказуемее поведение. разумеется постоянно алоцировать сообщения для каналов - плохо для перфомансаи приходится всё таки что-нибудь шарить. возможно в таком кейзе, когда у тебя огромный массив расшариваемых данных подойдёт STM (наверняка он уже есть под каждый язык)
Мерль
Ну представь, что у нас есть какая-нибудь hash-map
Тогда лучше конечно же использовать RW мьютекс для доступа к такому контейнеру, слать указатель или сигнал через канал не имеет большого смысла
К тому же, каналы вовсе не бесплатны, внутри гошных каналов например есть мьютекс
Опять же, в канал имеет смысл передавать что-то только по значению, так что каналы имееют довольно большой оверхед
Влод
все сказали одно и то же
Мерль
в хускеле
Влод
ну я про него из хаскельных статей читал
Влод
потом ещё студенты постоянно делают курсачи тип запили стм. тема, видимо, старая и наверняка много никому не нужных либ с стм
Влод
а обязательно нужно чтобы встроенный был?
Oleg
Oleg
вот, например, https://www.cs.cornell.edu/fbs/publications/GHL.pdf
Oleg
For notational simplicity, we
consider a variant of CSP in which communication commands reference channels
instead of other processes. Thus, to model CSP as described by Hoare, two
unidirectional channels ~ij and ~ji connect each pair of processes ~ri and 7rj.
Channel ~ij can be named only in output commands in 7ri and input commands
in 7rj.
Мерль
Мерль
Loyd
Хоаровский же язык 78 года предполагал прямое общение
Влод
вообще я думаю дело в том что у людей не так уж и много конкаренси. отсюда и речь про то что нету дедлоков и то что никому не нужен стм.
делают веб-приложение - есть готовый сервак, который распределяет нагрузку. так с бд разве что разобраться, чтобы не было долгих транзакций
Oleg
Loyd
Собственно, на оригинальной идее, с мониторами которая, в итоге построили аду и эрланг
Loyd
#undef зануда
Мерль
Oleg
Мерль
ИМХО тут наоборот
Не было нормальных решений (особенно для всяких перлов, питонов, рубей и пыхов), вот все и привыкли хреначить синхронный код, полагаясь на веб-сервер
Типа, если чо, nginx ещё потоков наплодит
* а нормальных решений не было, потому что когда зачинались популярные языки, то асинхронность для сервиса, на который приходит пять запросов в день, никому не упёрлась
Anonymous
да раньше вообще все на одном cpu было)
Влод
Маjко
Oleg
Маjко
Ну лол, учитесь читать, товарищи
Мерль
Ну короче понятно, слив засчитан
Маjко
В одном сообщении я расписал почему изменения не незначительные
Oleg
и во тут я всё понял
Oleg
все по методичке тролля, красаучик!
Oleg
Ну лол, учитесь читать, товарищи
Маjко
В другом ткнул сабжу в чем конкретно он не разбирвется
Мерль
Oleg
Oleg
или сабж это я, но тогда в чём я не разбираюсь? В типах, или в дедлоках?
Loyd
Маjко
Мерль
Oleg
Ладно
Мерль
я говорю о "незначительных изменениях" в теоритипном базисе компилятора
ну вот к примеру статьи для расшаривания
https://arxiv.org/abs/1508.06707
https://arxiv.org/abs/1603.03727
Мерль
Это было
Oleg
Мерль
Но конкретного разбора полётов от @mersinvald я не увидел, только оскорбления и такое "папка может всё разрулить, но не будет"
Маjко
Господи, слепошарые
Маjко
Имеется принципиальное отличие. Deadlock Detector требует информации о занятых ресурсах в каждый момент исполнения и в раст это сейчас не впихнуть.
И измерения там совсем не мелкие нужны, так как локи в расте на систему владения-заимствования вообще не полагается, оно все реализованы на interior mutability
Kirill
Поэтому-то все, кто тут в чате в рабочее время, и меряются типами!
Маjко
Ооо, тут из всего чата максимум процентов 5 имеют фуллтайм работу на расте)
Влод
не, в любой можно начать говорить за афинные типы и каждый может слиться на недостаточном понимании теории