Cat
я про то что это совсем не про задачу останова
Евгений
hadoop map reduce?
Так оно нетьюринг-полное
Cat
слишком абстрактные аргументы
Евгений
Конечно параллелизация нетьюринг-полных не натыкается на задачу останова
Aliester
хотел+
Daniel
Аргументы - это если есть тезис. А у меня не тезис, а вопрос
Евгений
Это он мне
Cat
Daniel
@onokonem, чем Вам этот ответ на вопрос непонравился?
тем, что даже я, человек, далекий от языкостроения, представляю, как сделать эти расходы константными
Евгений
Так можно делать ради экономии слов и выразительности, по крайней мере когда "перегрузка" омонима однозначно выводится из контекста всеми, кроме самых буквоедных зануд.
Недостаточно однозначно, чтобы использовать в инженерной практике. Достаточно однозначно, чтобы прибегать к ним в публицистике
Ilya
выпуклую?
Нет, но обязательно связную, и часто односвязную
Евгений
Вообще, конечно, очевидно, что оверхед от параллелизации это О(n), где n -- количество переключений контекстов. И единственный способ сделать n константой -- отказать от параллелизации
Daniel
преконфигуренный тред-пул, лимит на количество тредов для одной задачи
Ю ли я? 🤔
> тем, что даже я, человек, далекий от языкостроения, представляю, как сделать эти расходы константными Не в обиду будь сказано, но некоторые люди, далёкие от физики, представляют, как сделать вечный двигатель
Евгений
преконфигуренный тред-пул, лимит на количество тредов для одной задачи
Ну количество переключений контекстов всё равно не станет от этого константным
Евгений
Лимит на переключение контекстов -- вот этого заявка на победу! Но что делать, когда он будет исчерпан, непонятно
Daniel
При полностью загруженом пуле? Сколько есть - столько и напереключает, не больше
Daniel
Я о том, что выгрузка-загрузка регистров процессора
Daniel
Мне бы не хотелось дискуссии, коллеги Правильно я понял, что ваш ответ "раз нельзя заранее понять, не станет ли хуже - не будем и пытаться"?
Daniel
А?!
Ю ли я? 🤔
Ну а ВДРУГ получится!
Daniel
Ни одного прямого ответа :) Все, что я получил, это встречные вопросы. В любом случае - спасибо, пойду займусь своими делами
Евгений
Мне бы не хотелось дискуссии, коллеги Правильно я понял, что ваш ответ "раз нельзя заранее понять, не станет ли хуже - не будем и пытаться"?
Практические измерения показывают (они есть в книге марлоу, например), что накладные расходы превышают профит в большинстве случаев
Daniel
Ок, это ответ
Евгений
Поэтому лучше параллизировать тонкие места
саша
Мне бы не хотелось дискуссии, коллеги Правильно я понял, что ваш ответ "раз нельзя заранее понять, не станет ли хуже - не будем и пытаться"?
Вообще подобные вещи более менее адекватно можно сделать только с очень жирным рантаймом, который будет собирать статистику и на основе её параллелить, насколько я понимаю. Но это уже будет иной ЯП, и программа на нём будет иметь совсем иные характеристики, нежели на хаскеле.
Daniel
Мне не очень понятный - я-то вынужден горутины запускать прстоянно.
Daniel
Но - ответ
Евгений
Ну начните запускать горутины на каждое сложение и поймёте
Daniel
Поэтому лучше параллизировать тонкие места
Спорно. По мне, так лучше запрещать параллелизацию толстых
саша
Спорно. По мне, так лучше запрещать параллелизацию толстых
Этих мест очень много, в отличии от тонких.
Евгений
Спорно. По мне, так лучше запрещать параллелизацию толстых
Ну, возможно так оно и есть. 30 лет назад про лень рассуждали также как мы сейчас про параллилизм. Но сейчас понятно, что энергичный по умолчанию язык это зло. Может и с параллелизмом так будет
Daniel
Ну начните запускать горутины на каждое сложение и поймёте
При чем тут сложение? Сттуация, когда функции можно параллелить, не частая. И обычно как раз в этой ситуации парралелизм очень нужен
Евгений
Вам объяснили -- что нельзя вычислить что параллелить, а что нет
Евгений
Параллелить всё не вариант. Вы не согласились. Я предложил вам самому попробовать
Евгений
Старайтесь придерживаться одного мнения в ходе дискуссии, хорошо? У нас такое токсичное общение не принято
A64m
Для любого нормального программиста, в т.ч. хаскелиста (такие тоже бывают как это ни странно) очевидно, что энергичный по умолчанию язык это вообще не язык
Евгений
> Но сейчас понятно, что энергичный по умолчанию язык это зло Наоборот же вроде
Всё именно так. Просто написать ленивый сейчас никто не может уже
A64m
уже и строгий фя не могут
A64m
тормозное убожество получается
Евгений
уже и строгий фя не могут
Ну, вроде ML'и до сих пор пишут
Евгений
на всякий случай зиганул
Вот этого тут не надо
A64m
самый новый мл с самописным рантаймом это элис, и ему уже больше 10 лет
A64m
ну и тормоза
A64m
он уже и помереть успел
Евгений
А пурескрипт не мл что ли?
adam
Вот этого тут не надо
Правым интеллектуалам трудно представить теоратический белый-супрематистский гипер-капитализм®
A64m
А пурескрипт не мл что ли?
> с самописным рантаймом
Евгений
> с самописным рантаймом
А у него совсем рантайма нету? Я ж хз как там
Daniel
Старайтесь придерживаться одного мнения в ходе дискуссии, хорошо? У нас такое токсичное общение не принято
я одного и придерживаюсь. параллелить автоматически можно только то, что не использует друг друга в качестве аргументов, так? много ли вы можете припомнить сложений, которые исполняются более одного раза и при этом результат не используется в качестве аргумента для следующего такого же сложения?
A64m
вы считаете что ли, что сложение параллелить нельзя?
Daniel
Любое сложение более трёх значений
а можете расписать, как это так, что a+b+с можно распараллелить? какими частями?
A64m
по вашему 3 больше трех что ли?
Daniel
вы считаете что ли, что сложение параллелить нельзя?
я считаю, что параллелить можно все то, для чего может быть применен map-reduce. можно ли параллелить что-то еще - я не припомню
саша
а можете расписать, как это так, что a+b+с можно распараллелить? какими частями?
> более 3-ёх Тоесть если есть a + b + c + d, то можно сделать (a + b) + (c + d) и отправить (a + b) и (c + d) в разные треды.
Daniel
по вашему 3 больше трех что ли?
ошибся, бывает. про 4 и больше - понятно
A64m
> Любое сложение более трёх значений a + b + c + d x1 = a+b | x2 = c + d x1 + x2
Daniel
sum(sum(a,b), sum(c,d)), я бы так записал
Евгений
Вообще говоря в a может оказаться ненормальная форма. Идея паралелить a+b нормальная
Daniel
и тут, действительно, sum можно параллелить
Daniel
и, действительно, смысла в этом мало
саша
Вообще говоря в a может оказаться ненормальная форма. Идея паралелить a+b нормальная
Ну естественно я выше имел ввиду именно нормальную форму.
Евгений
Попробуйте написать преобразователь кода на го, который будет любую операцию параллелить. Прогоните его на компиляторе, а потом попробуйте что-нибудь собрать. Будете неприятно удивлены
Daniel
и потому, что нет способа пометить sum как функцию, непригодную для распараллеливания, нет и распараллеливания.
Евгений
Ну естественно я выше имел ввиду именно нормальную форму.
Но в сабже у нас нет гарантии, что там нормальная форма до вычисления же