Size: a a a

2021 June 08

ŹR

Źmićer Rubinštejn in pro.elixir
Что касается самой либы wasmer - там все ок
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Короче говоря нифка помоему создает треды и есть вариант что он останется висеть навсегда
источник

AB

Alex Bubnov in pro.elixir
я так понимаю, что у wasi до сих пор какие-то вопросы с декларацией интерфейсов
источник

M

MrFlorius in pro.elixir
А нет варианта юзать ее поверх эрланговых процессов?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если ты делаешь для саса возможность юзеркоду посчитать число или строку - тебе не нужен wasi
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Там и так работает поверх процессов, в этом и проблема. Вернее проблема там такая: как нифке вызвать эрланговскую замыкание, которое в нее передали. Знаешь ответ - расскажи. Я тебе wasmex починю за ывходные
источник

LL

Lama Lover in pro.elixir
А почему именно нифы, кстати? Это же однопоточный рантайм, можно было бы ведь реально через порты обойтись
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ну вот представь скорость такого рантайма, если все оперции с файлами и сокетами ты пропускаешь через порт
источник

M

MrFlorius in pro.elixir
А если тебе надо 100500 штук запускать
источник

M

MrFlorius in pro.elixir
Тогда зачем оно поток делает?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Текущий эрланг процесс блочится на вызове нифки. Перед этим ты создаешь еще один процесс, в который будешь передавать назад замыкания эрланговские, которые надо выполнить. Для этого в нифке тоже нужен другой поток, потому что основной тоже заблчится пока нифка не вернет ответ вместе с эрланговским процессом
источник

LL

Lama Lover in pro.elixir
Ну так эликсир сам по себе не особо эффективный, так что если батчить, и использовать много портов, оверхед будет не особо заметен
источник

M

MrFlorius in pro.elixir
А понимаю
источник

AB

Alex Bubnov in pro.elixir
https://t.me/proelixir/168869
нашел - interface types, которые не движутся, и которые на мой взгляд соотносятся с "системой плагинов"
источник

M

MrFlorius in pro.elixir
источник

B

Bogdan in pro.elixir
subset =
     from(a in A,
       where: a.id == ^100,
       join: ab in "a_b",
       on: ab.a_id == a.id,
       select: ab.b_id
     )

   from(b in B,
     where: b.id not in subquery(subset),
     limit: 5000
   )
   |> Repo.all()


нужно встроить в финальную query, что вроде
where: b.id not in subquery(subset) and b.id > max(subquery(subset))


Какие есть варианты?)
источник

B

Bogdan in pro.elixir
то есть чтобы он отдавал только новые id которые выше чем максимальный в subset
источник

M

MrFlorius in pro.elixir
Мб конечно можно дернуть интерпретатор байткода напрямую, но мне почему-то кажется что это можно только на шедулере делать
источник

AB

Alex Bubnov in pro.elixir
на голом sql и в поцгресе я бы это сделал через cte.
источник

AB

Alex Bubnov in pro.elixir
а потом он обратно въедет в ниф...
источник