@ProLua

Страница 26 из 307
Alexey
18.06.2016
06:31:03
Да можно, конечно, но зачем?

Teddy
18.06.2016
06:31:18
Ну, это, процесс :)

Я под винду zeromq для go собирал, это был квест :)

Я просто хочу попробовать сделать брокера

Google
Alexey
18.06.2016
06:32:27
Ну, если девушка временно недоступна тогда вперёд, на мины. :)

Teddy
18.06.2016
06:32:30
На тарантуле

Да не, тут не в девушке дело :)

То есть, никто не пробовал из интереса?

Snusmumriken
18.06.2016
13:31:48
То есть, никто не пробовал из интереса?
Думаю, тебе стоит повторить вопрос чуть позже, когда набежит еще чутка людей. В целом, на гитхабе есть файлы для cmake. Можешь скомпилить.

The Dude
19.06.2016
19:53:39
Какие в луа беси прэктиз в api наружу?

Есть ядро на луа, которое симулирует что-то и наружу торчат колбэки и апи.

Как в луаче лучше такое сделать?

Понятное дело просто паблик методы наружу и дело в шляпе. Но может что-то лучше есть?

Snusmumriken
19.06.2016
20:01:06
Точнее формируй запрос

Кароч, есть несколько вариантов. 1. Луа сверху. К ней подрубаем либы. Вызываем либами методы из lua/хост-программы. 2. С/С++ сверху. Экспортируем в luastate методы табличкой. Вызываем из Lua.

The Dude
19.06.2016
20:05:44
Нет. Хост на луа.

maxx
19.06.2016
20:10:42
зависит от "симулирует что-то" наверное. по идее, можно и через thread'ы бросать периодически куски наружу в С/С++

Google
maxx
19.06.2016
20:11:37
luasocket вроде так работает: получив коннект, оно yield'ит наружу, а luastate пока выполняет другие коннекты. приходят данные, оно  resume'ится

не знаю, получилось ли объяснить... =)

Мерлин
21.06.2016
10:12:54
Это всё из-за ̶с̶п̶а̶й̶с̶а̶ той статьи на Хабре Набижали :3

Alejandro
21.06.2016
14:06:01
С какой той?

The Dude
21.06.2016
14:06:57
Я чет не понимаю Нахуя в луа корутины, если это не треды?

Плюшка
21.06.2016
14:21:43
затем же, зачем в го горутины, а в crystal - fiber'ы

The Dude
21.06.2016
14:22:46
Это не одно и тоже.

в 1 момент времени выполняется только 1 корутина

это тебе не пул легковесных тредов в юзерспейсе со своим менеджером.

как в SCP

Плюшка
21.06.2016
14:24:05
там короче все вокруг event loop

The Dude
21.06.2016
14:24:21
нахуя мне 1 корутина?

или мне в event loop нужно их плодить рекурсивно?

тоже не понимаю прикола.

Плюшка
21.06.2016
14:25:32
там можно с помощью биндингов сделать тред, но он с другими не сможет сообщаться, т.к. при любом вызове IO сегфолт, а общей памяти нет ?

Мерлин
21.06.2016
14:26:48
Я чет не понимаю Нахуя в луа корутины, если это не треды?
Для чего-то асинхронного, но без io(по-крайней мере блокирющего на долго)

Google
Мерлин
21.06.2016
14:28:10
С какой той?
Была статья, что то вроде "Пишем простую систему учёта" недавно Там упоминался этот чатик

The Dude
21.06.2016
14:28:21
Для чего-то асинхронного, но без io(по-крайней мере блокирющего на долго)
А в чём асинхронность? Если корутина блочит мэйн тред?

Или может быть только мэйн тред + 1 корутина?

Мерлин
21.06.2016
14:28:40
Ну вот есть у тебя долгоживущие задачи Которые надо выполнять более-менее одновременно

Я это так вижу, по-крайней мере

The Dude
21.06.2016
14:32:30
Если основной тред заблокирован пока работает корутина, в чём смысл?

Плюшка
21.06.2016
14:37:36
Подпрограмма Lua представляет собой независимый поток выполнения. http://www.lua.ru/doc/2.11.html

разве он заблокирован?

The Dude
21.06.2016
14:37:57
Вот, т.е у меня работает мэйн + 1 корутина?

я делаю even pool и накидываю туда задач

с приоритетами

и поехали останавливать запускать да?

прикольно, кидаешь задачи с приоритетами а скедулер сам разбирается

чё остановить а чё запустить

типо отработал высший приоритет он из стэка достаёт то что приостановил

и погнали

стэк fifo сделать и всё

но всё равно только для мелочи подойдёт

Google
Мерлин
21.06.2016
15:11:17
Если основной тред заблокирован пока работает корутина, в чём смысл?
Смысл в том, что тут вообще в каждый момент выполняется только одна задача https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0

Плюшка
21.06.2016
15:12:43
на одноядерных процессорах, кстати, нет различия между "настоящей" и "ненастоящей" многопоточностью ?

Мерлин
21.06.2016
15:15:15
на одноядерных процессорах, кстати, нет различия между "настоящей" и "ненастоящей" многопоточностью ?
Более того, на тех же микроконтроллерах надо делать собственный луп Об этом хорошо di halt писал

The Dude
21.06.2016
15:35:57
Сопрлграммы к многопотоянлсти вообще ничего не имеют общего.

Никто не коммитил в луагит?

Мерлин
21.06.2016
15:59:35
нет (

The Dude
21.06.2016
17:26:48
ну ка расскажите мне за тарантул

maxx
21.06.2016
17:43:56
я вижу сопрограммы как несколько точек исполнения кода (CS:IP в терминах асма), между которыми можно переключаться. используется для неблокирующего IO, например: клиент отправляет запрос в БД, и пока она ищет нужные записи, чтоб не блокировать исполнение остального луа-кода, клиент yield'ится куда-то наружу, давая возможность другому клиенту или другому запросу выполниться/обработаться. когда же приходит ответ из БД, он внедряется ровно в то место, где прервался, да ещё и с результатом в параметрах.

т.е. поток вроде и один, но несколько клиентов работают (типа) одновременно: почти многопоточность

maxx
21.06.2016
17:46:16
угу, поток один - вытесняющая многозадачность

ну, представь ещё веб-сервер, например. nginx и openresty. прилетают тысячи запросов в секунду. каждый бежит в БД за данными. пока БД ищет, весь поток блокируется. но если запрос на поиск слать из С-обвязки в другом потоке, а в это время обрабатывать другой запрос, то вроде как быстрее получается

The Dude
21.06.2016
17:47:49
угу, поток один - вытесняющая многозадачность
Ну так сути использования корутины для многозадачности вообще нет.

Кароче, если мэйн + 1 корутина могут паралелльно работать - это хоть немного круто.

maxx
21.06.2016
17:48:26
неа

thread всегда один

The Dude
21.06.2016
17:48:43
Если мы говорим про нормальные треды, когда я могу параллельно что угодно дедлать практически - это другое совсем.

Google
maxx
21.06.2016
17:48:59
https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%82%D0%B5%D1%81%D0%BD%D1%8F%D1%8E%D1%89%D0%B0%D1%8F_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C

maxx
21.06.2016
17:49:41
оч похоже. только прерывает исполнение не ОС, а сама сопрограмма

The Dude
21.06.2016
17:50:06
Мерлин
21.06.2016
17:50:08
Корутины - это банальные сопрограммы

The Dude
21.06.2016
17:50:11
Совсем другая хрень.

Страница 26 из 307