Lucky
у мну ещё и браузер интернетов стоит Luakit
mva
http://wxlua.sourceforge.net оно?
вот только у него есть один большой жирный минус:
> wxLua can be built against wxWidgets 2.8.x, 2.9.x and Lua versions 5.1, 5.2, and LuaJIT.
mva
1) эти версии wxwidgets уже 500 лет как протухли
mva
2) Lua, как бы, тоже уже 5.4 на подходе
Particle Booster
печаль
Lucky
Что грядущий Lua нам готовит?
Lucky
уже интересно
Lucky
мерси!
Particle Booster
Подскажите, можно как-то передать в функцию экземпляр объекта?
Particle Booster
это новый объект, но не указатель на старый
Particle Booster
клон объекта
Particle Booster
к примеру я создаю объект в конструкторе и хочу передать его копию в функцию, что бы первоначально созданный объект не менялся
Particle Booster
что бы можно было поиграть с его клоном, не трогая оригинал
Particle Booster
кароче надо, как по умолчанию в С++ передаются обхекты
Particle Booster
это я знаю
Particle Booster
а как мне скопировать, если он указателями копирует?)
Particle Booster
ссылками
Particle Booster
спасибо
Particle Booster
я чёт не нашел
Co(n)stantine👨🔬
http://wingolog.org/archives/2018/05/16/lightweight-concurrency-in-lua
Anonymous
он все перепутал, но идея интересная
Anonymous
а что за библиотека Lanes? она как-то потоки добавляет в луа?
Snusmumriken
+
Roman
Я тут баловался с многопоточностью в openresty: серваку надо сделать очень много запросов в бд, можно последовательно, а можно в потоках
И что с потоками сокеты ошибку "socket busy reading" возвращают (когда много потоков), так и последовательно оказывается по времени быстрее, оверхед потоковый только мешает, выходит.
Так что с потоками связываться только когда сильно-сильно приспичит нужно, да и луа не тот инструмент
Anonymous
нет никакого потокового оверхеда
Anonymous
треды создаются быстро
Anonymous
контекст свитч все равно происходит при любом system call
Anonymous
просто надо учитывать две вещи:
1. Потоки в отличие от сопроцедур реально параллельны
Anonymous
т.е. не имеет смысла создавать потоков больше чем ядер у сервера
Roman
есть конечно, они для параллельности
Anonymous
2. Поток требует колстека т.е. от 1мб памяти и это может быть существенно в описанном сценарии
Roman
вон у nginx десятки тысяч потоков делаешь чтобы десятки тысяч пользователей обслужить одновременно
Anonymous
nginx создает воркеров
Anonymous
их не десятки тысяч а предустановленное количество
Roman
воркер на ядро и десятки тысяч потоков
Roman
воркер не поток, а процесс
Anonymous
у тебя есть сайт на nginx?
Anonymous
зайди на него и посмотри топ или хтоп
Anonymous
если там потоки то топ отобразит каждого как отдельную запись , он так работает
Anonymous
отображает kernel pid т.е., который есть и у потоков
Roman
Anonymous
для общения с хттп клиентами нгинх использует epoll
Anonymous
т.е. у него набор дескрипторов для сокетов клиента и он их в эвент лупе опрашивает
Anonymous
т.е. там не нужны потоки самому nginx
Anonymous
а вот для обращения к fastcgi или для обработки запроса в модуле (например луа) уже не знаю
Roman
Я погуглил оверхед, похоже правда что он слишком маленький чтобы на него внимание обращать. Вот только в каждом потоке нужен новый сокет и новый конекшн, отсюда и замедление видимо
Anonymous
Вот только в каждом потоке нужен новый сокет и новый конекшн
нет, ты можешь реюзать сокеты и коннекты
Anonymous
threaded серверы так и работают
Anonymous
они берут в основном потоке клиентский сокет, и отдают воркерам его на чтение и запись
Roman
а разве можно паралельно по одному сокету читать или писать? по логике нельзя
Aleksey
Всем привет. Хочу написать программу под Винду и андроид, что-то типа музыкального плеера: брать пользовательские мп3 и проигрывать их.
Будет ли луа + какой-то фреймворк хорошим выбором? Попробовал использовать корону, но столкнулся с ограничениями на проигрывание мп3-файлов.
mva
Anonymous
о, что за прикол в мп3 с короной?
Snusmumriken
Андроид в любом случае захочет кучу жавы.
Anonymous
пеши на Qt наверное)
Anonymous
на андроиде можно на Qt , только оно бажное, по-моему
Anonymous
а вообще в идеале есть JUCE фреймворк
Anonymous
он как раз для таких целей и запускается .. кхм кхм.. везде
Revertron
Aleksey
О, спасибо. Про juce не знал, попробую на нем написать.
Lucky
Aleksey
Жаль только, что написал код на луа, который теперь выбрасывать )=
Lucky
инстед на луа и умеет овердофига форматов.
mva
Lucky
https://instead-hub.github.io/
Lucky
и он умеет овердофига форматов.
mva
Unity тоже, например. Или анрил энджин какой
mva
Давай теперь на них напишем половину ос-софта
Lucky
Давай
Lucky
У тебя какое то предубеждение что ли?
Lucky
Религия не позволяет?
Anonymous
хорош ругаться)
Anonymous
просто человек не хочет чтобы на игровых движках писали _приложения_
Anonymous
но вообще судя по заявленной задаче, "проиграть мп3 файл".. мы не знаем какие цели у заказчика
Lucky
не хотеть с полным правом он имеет только за себя.
Anonymous
Aleksey
У меня нет заказчика, я хочу написать приложение для себя, ну и чтобы оно неплохо смотрелось в резюме.
Anonymous
Щас в резюме на реальные проекты смотрят