Size: a a a

2020 February 09

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Михаил Влазнев
Всем привет. Тут чат для опытных или вопросы от начинающих можно задавать?
С практической целью или с целью обучения?
источник

МВ

Михаил Влазнев in pro.elixir
С целью обучения.
источник

a

arikai in pro.elixir
Михаил Влазнев
Окей. В общем, я начинающий, в рамках изучения языка запилил алгоритм параллельной сортировки - https://pastebin.com/kMdBW0AH

Если кому-то будет не лень его посмотреть и потом настучать мне по рукам, типа, на Эликсире так не надо писать, а надо писать вот так, - буду благодарен.
1. Много логики, которую можно заменить на Enum.chunk
2. Думаю, в данном случае спокойно можно применить Task.async_stream вместо async+wait
3. Так ли нужен flag? В целом, вызывающий функцию может сделать это на своей стороне, а если ему эти вдруг будет не нужно - код прохода по всему списку будет выполняться _всегда_. Константа, но все таки.

Ну и правила хорошего тона
1. threads бы лучше вынести в последнюю переменную opts, из которой потом при помощи Keyword вытаскивать нужные опции и в случае чего фолбэчится на дефолт
2. Если количество возвращаемых значений - небольшое, то возможно имеет смысл использовать tuple вида {list, flag}

Ну и советовал бы протестировать пользу распараллеливания сортировки: из-за иммутабельности и необходимости потом списки конкатенировать (O(N)), не факт, что что-то выиграем
источник

МВ

Михаил Влазнев in pro.elixir
arikai
1. Много логики, которую можно заменить на Enum.chunk
2. Думаю, в данном случае спокойно можно применить Task.async_stream вместо async+wait
3. Так ли нужен flag? В целом, вызывающий функцию может сделать это на своей стороне, а если ему эти вдруг будет не нужно - код прохода по всему списку будет выполняться _всегда_. Константа, но все таки.

Ну и правила хорошего тона
1. threads бы лучше вынести в последнюю переменную opts, из которой потом при помощи Keyword вытаскивать нужные опции и в случае чего фолбэчится на дефолт
2. Если количество возвращаемых значений - небольшое, то возможно имеет смысл использовать tuple вида {list, flag}

Ну и советовал бы протестировать пользу распараллеливания сортировки: из-за иммутабельности и необходимости потом списки конкатенировать (O(N)), не факт, что что-то выиграем
Спасибо. Насчёт пользы не спорю, скорее всего выигрыша в производительности не будет. Я этот кейс чисто в качестве учебного рассматриваю, чтобы с распараллеливанием разобраться.
источник

LL

Lama Lover in pro.elixir
Михаил Влазнев
Спасибо. Насчёт пользы не спорю, скорее всего выигрыша в производительности не будет. Я этот кейс чисто в качестве учебного рассматриваю, чтобы с распараллеливанием разобраться.
Две проблемы со скоростью исполнения:
1. Enum.count работает линейно, то есть, пройдёт все элементы массива
2. Enum.slice тоже работает линейно
Поэтому твоё решение полностью бесполезно и будет работать медленнее чем Enum.sort

Ещё проблема в том, что ты, как уже сказали, написал код слишком императивно, практически полностью отсутствует pattern-matching

Если хочешь написать что-то полезное советую написать параллельную сортировку слиянием
источник

B

Bogdan in pro.elixir
Михаил Влазнев
Спасибо. Насчёт пользы не спорю, скорее всего выигрыша в производительности не будет. Я этот кейс чисто в качестве учебного рассматриваю, чтобы с распараллеливанием разобраться.
Если учишься, то не трать время, а лучше почитай литературу, к счатью которой для эликсира хватает.
источник

B

Bogdan in pro.elixir
Elixir in action Part 2 хорошо про OTP объясняет.
источник
2020 February 10

AS

Anna Sumina in pro.elixir
Всем хорошего вечера! Хочу запостить у вас вакансию fullstack разработчика elixir, можно или лучше бежать?))
источник

AM

Aliaksandr Martsinovich in pro.elixir
Anna Sumina
Всем хорошего вечера! Хочу запостить у вас вакансию fullstack разработчика elixir, можно или лучше бежать?))
Вперёд!
источник

AS

Anna Sumina in pro.elixir
Так, аватарку нашла, сейчас про вакансию напишу
источник

D

Dk in pro.elixir
Anna Sumina
Так, аватарку нашла, сейчас про вакансию напишу
Тэги и вилку не забудьте
источник

MK

Matwey Kornilov in pro.elixir
Хм. "Вашу маму и тут и там показывают"
источник

AS

Anna Sumina in pro.elixir
Было уже, да?) не нашла чет
источник

MK

Matwey Kornilov in pro.elixir
На почту что-то похожее приходило сегодня
источник

D

Dk in pro.elixir
Клёвая вакансия
источник

AS

Anna Sumina in pro.elixir
Матвей, я вам про erlang писала, но компания та же
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Где зарегистрироваться, чтобы лично вакансии присылали?
источник

AS

Anna Sumina in pro.elixir
Źmićer Rubinštejn
Где зарегистрироваться, чтобы лично вакансии присылали?
Вы там уже есть)
источник

АН

Алексей Новоселов in pro.elixir
да они в бигдате вообще взялись плотно за поиск, вакансия год висит, но только в этом году начали писать рекрутеры из разных кадровых агенств в линкедине чуть ли не каждый день, предлагать их вакансию
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Anna Sumina
Вы там уже есть)
Это не для меня. Хотя мне тоже интересно - где я есть?
источник