Size: a a a

2020 May 31

а

аннлн in pro.lua
ага, класс
источник

а

аннлн in pro.lua
и тут перед нами два стула
источник

CP

Companion Philipp in pro.lua
А для многозадачности есть корутины
источник

а

аннлн in pro.lua
на первом — luaL_newstate() и невозможность переносить стек между состояниями
источник

а

аннлн in pro.lua
на втором — lua_newthread() — и крайне интересные подводные камни, с которыми я уже два дня не могу справиться
источник

а

аннлн in pro.lua
подводные камни выглядят как рандомные сегфолты
источник

а

аннлн in pro.lua
причём только при высокой нагрузке (скажем, 10000 запросов в секунду на простенький http-сервер)
источник

S

Snusmumriken in pro.lua
Есть готовые решения для самих луёв, вроде lua lanes.
источник

а

аннлн in pro.lua
ну тогда уж cstates
источник

а

аннлн in pro.lua
но нет
источник

а

аннлн in pro.lua
как вообще дебажить сишные модули?
gdb почти ничего не видит
источник

S

Snusmumriken in pro.lua
аннлн
причём только при высокой нагрузке (скажем, 10000 запросов в секунду на простенький http-сервер)
Вот для подобной задачки, нужно немножко больше чем "многопоточность". Тут нужно взять все io-операции (включая сокеты), и сделать их неблокирующими, переключая поток на другую задачу пока блокирующий чего-то ждёт.
То есть, полноценный таск-шедулер. И эти 5K rps — можно гонять на одном единственном потоке какого-нибудь Pentium 4.
источник

а

аннлн in pro.lua
пс
источник

S

Snusmumriken in pro.lua
Ща восстановлю
источник

S

Snusmumriken in pro.lua
источник

а

аннлн in pro.lua
оно какбэ даже работает
источник

S

Snusmumriken in pro.lua
Ничоси хаки ))
источник

а

аннлн in pro.lua
чойта
источник

S

Snusmumriken in pro.lua
weakref
источник

а

аннлн in pro.lua
где-то нагуглилось, насколько помогает — без понятия
источник