Size: a a a

2020 March 12

S

Snusmumriken in pro.lua
Это сторонняя библиотека, но она даёт многопроцессорную многопоточность. Можно загрузить все физические ядра твоего компутера и получить прям прирост производительности.
источник

LO

Lucky Ook in pro.lua
Спасибо, гляну!
источник

S

Snusmumriken in pro.lua
В общем, если тебе больше нравится такое описание, то корутины это как будто много goto. Твоя функция сделала часть работы и делает goto наружу (yield), в то место где её вызвали. Оттуда её могут вызвать ещё раз, переместившись в точку последнего goto из функции. Просто так, куча goto физически не может заставить код работать быстрее.
источник

VV

V V in pro.lua
Snusmumriken
Это сторонняя библиотека, но она даёт многопроцессорную многопоточность. Можно загрузить все физические ядра твоего компутера и получить прям прирост производительности.
Ты lanes под Windows не использовал?
источник

S

Snusmumriken in pro.lua
Использовал, я в основном пишу под венду.
источник

VV

V V in pro.lua
Snusmumriken
Использовал, я в основном пишу под венду.
Спасибо
источник

I

Igor725 in pro.lua
LuaLanes в связке с житом позволяет довольно таки мощные вещи делать
источник

S

Snusmumriken in pro.lua
Прост у лейнсов есть косячки (например, она пытается по дефолту копировать в новый стейт все значения стейта-создателя, и иногда ломается на юзердате), но это чуть ли не единственная норм кроссплатформенная либа многопоточки.
источник

𝕊

𝕊𝕀𝔾𝕊𝔼𝔾𝕍 in pro.lua
Snusmumriken
Это сторонняя библиотека, но она даёт многопроцессорную многопоточность. Можно загрузить все физические ядра твоего компутера и получить прям прирост производительности.
А ещё есть побочный эффект в виде роста tdp :D
источник

I

Igor725 in pro.lua
Snusmumriken
Прост у лейнсов есть косячки (например, она пытается по дефолту копировать в новый стейт все значения стейта-создателя, и иногда ломается на юзердате), но это чуть ли не единственная норм кроссплатформенная либа многопоточки.
Эту болячку вроде как можно исправить прямо из Lua
источник

S

Snusmumriken in pro.lua
Можно, да, просто инициализируем пустой стейт без либ.
источник

VV

V V in pro.lua
Я его просто только под линуксом задействовал, поэтому интересно любимый инструмент перенести на винду. С точки зрения того, чтобы код в итоге был кроссплатыономенным
источник

S

Snusmumriken in pro.lua
𝕊𝕀𝔾𝕊𝔼𝔾𝕍
А ещё есть побочный эффект в виде роста tdp :D
У меня так однажды на работе электричество вырубилось, потому что на куче серверов запустили сразу тонну многопоточных луёвых серверов и проводка не справилась.
источник

VV

V V in pro.lua
А обертку типа легковесных денных над юзердата перед передачей кто-нибудь пробовал?
источник

I

Igor725 in pro.lua
Snusmumriken
Можно, да, просто инициализируем пустой стейт без либ.
Не помню, на какой версии луёв, но у меня случалось так, что я инициализировать стейт в lualanes не мог так, чтобы в нём были только нужные мне библиотеки
источник

VV

V V in pro.lua
Была идея, что так модно устранить "слом" передачи юзердата
источник

I

Igor725 in pro.lua
Я, например, пытался инициализировать стейт с библиотекой base только, чтобы с помощью require уже внутри все свои дела делать
источник

I

Igor725 in pro.lua
Но почему-то внутри потока функция require уже не существовала
источник

I

Igor725 in pro.lua
V V
А обертку типа легковесных денных над юзердата перед передачей кто-нибудь пробовал?
Я только адреса FFI данных передавал по линде
источник

I

Igor725 in pro.lua
Например, выделяется внутри потока char массив, потом кастуется в intptr и передаётся луёвым числом в основной поток и там уже обратно в char массив превращается
источник