Anonymous
Просто это разработка Mail.Ru Group
Заур
Просто это разработка Mail.Ru Group
Тем более, уже после боевого применения и отладки
Anonymous
Из-за отсутствия вот этой штуки: https://github.com/tarantool/tarantool/issues/1259 Народ взял и создал новую in-memory db: https://habrahabr.ru/post/346884
Anonymous
А команда Tarantool до сих пор дрочит SQL наличие которой у key-value storage всьма сомнительная
Michael
https://github.com/Restream/reindexer
Anonymous
Он самый
Ilya
А команда Tarantool до сих пор дрочит SQL наличие которой у key-value storage всьма сомнительная
А что им надо было делать? По-моему же хорошо что кто-то пошел и сделал что-то новое если текущее его не удовлетворяет. Всех ведь не удовлетвориш.
Alexander
(картинка про 15 конкурирующих стандартов)
Ilya
Мы вот тарантул пользуем, и sql сэкономил бы лично мне пару дней времени. Чисто по опыту.
Ivan
https://habrahabr.ru/company/oleg-bunin/blog/340062/
Anonymous
А что им надо было делать? По-моему же хорошо что кто-то пошел и сделал что-то новое если текущее его не удовлетворяет. Всех ведь не удовлетвориш.
Но у них как раз цель была удовлетворить всех. Они вообще в релизе писали, что они отберут у Оракла львиную долю пользователей. А команда Reindexer-а молодчы!
Anonymous
ребята, может вы подскажете что не так в коде
Anonymous
https://play.golang.org/p/wNgbuyD8WWG
Anonymous
должно отдавать 3 строчки, но отдает 2
Ilya
Когда jobs =nil, вываливаешься из цикла не успевая вычитать все из резалт канала
Anonymous
как решить?
🏁Александр
он успевает пройти же
Alexander
а гоурутины что стопаются?
При выходе из main все горутины просто прибиваются без ожидания
🏁Александр
странно что даже вангига нету
🏁Александр
как решить?
когда ты сделал break, то все вываливается из цикла и все гоурутины умирают. Выход использовать waitgroup
Anonymous
ок, спасибо буду пробывать
🏁Александр
🏁Александр
а может ты объяснишь задачу? а то как то стартовать гоурутины который хреначат в канал на основе сообщения в канал странно
Anonymous
ну я просто смотрел как можно селектом работать с каналами
Anonymous
чисто ради интереса
Anonymous
нет задачи конкретной
🏁Александр
ты имей введу что гоурутины плодить бесконечно нельзя
🏁Александр
оптимально это по количеству ядер
🏁Александр
none
Anonymous
спасибо за совет :)
🏁Александр
спасибо за совет :)
в твой ситуации лучше запустить несколько хедлеров на 1 канале (одинаковых), с буферизированным каналом
Mikhail
ты имей введу что гоурутины плодить бесконечно нельзя
Звучит как будто выдрано из контекста
🏁Александр
и внутри уже не плодить гоурутины
🏁Александр
Звучит как будто выдрано из контекста
я просто предупредил, что это далеко не бесплатно и радужно 🙂 От того что наделаешь 10000 гоурутин врятли у тебя будет приложение с понями и радугой
🏁Александр
я на эти грабли уже вьехал
🏁Александр
и я про гоурутины которые долго выполняются
Nikita
и я про гоурутины которые долго выполняются
Конечно, есть оверхед в рантайме при переключении контекстов планировщиком
Timur
я просто предупредил, что это далеко не бесплатно и радужно 🙂 От того что наделаешь 10000 гоурутин врятли у тебя будет приложение с понями и радугой
А что у вас в горутинах? Традиционно люди не знают для чего горутины нужны и пихают туда вычислительные операции, а потом жалуются
🏁Александр
а куда по вашему вычислительные операции? 🙂 там на гоурутинах дерево перестраивалось
Timur
Если у вас только вычисления то количество горутин равно количеству ядер
🏁Александр
ничего вроде сложного но очень много элементов
Timur
Перестроение дерева - вычисления
Timur
Рантайм тоже наложит свою плату
🏁Александр
оно рекурсивное, дерево не большое, на пару миллионов записей 🙂
🏁Александр
корневых веток около 40
🏁Александр
по количеству ядер
Timur
Альтернатива для чего? Какая задача? Если задача - сделать вычисления параллельно то горутины по количеству ядер + канал
🏁Александр
просто вы так написали, будто есть еще какой то инструмент помимо гоурутин 🙂
Timur
Но это же не абстрактная задача в вакууме. Контекст какой?
🏁Александр
да я решил ее, год назад 🙂
🏁Александр
я просто человеку написал как делать не стоило бы
Timur
Ну я к тому, что в определенных задачах нужно 10к горутин и приложение при этом получается с понями и радугами))) вопрос в том, какая задача
🏁Александр
врятли оно получится с понями на 10k одновременно работающих гоурутин 🙂
🏁Александр
накладные расходы будет шо писец
Timur
Так они не могут одновременно работать никогда
Timur
Одновременно работает количество горутин равное количеству ядер
🏁Александр
блин... ну не прикапывайтесь 🙂
Timur
Ок)
🏁Александр
я относительно языка говорил, так то ежу понятно
Timur
Одновременно 10к горутин спокойной существуют в рантайме, даже 100к если хотите, но опять-таки смотря что внутри горутины и какая задача))
Timur
Больше не придираюсь)))
🏁Александр
так лучше приложение не строить 🙂
🏁Александр
один хрен упремся в проц
Timur
Бывают разные задачи)
🏁Александр
даже если это api http у которого хендлеры
🏁Александр
но вообще я мечтаю когда нибудь пропускная способность вырастет настолько что не будет важно обмениваемся мы внутри платы или между ПК
🏁Александр
тогда возможно будет делать мега-гиго процессоры, по сети
🏁Александр
и запускать приложения под винду на все доступные сетевые ядра (100000 тысяч+- штук) 🙂 без написания микросервисов
Заур
?
Заур
народ, как в шаблонизаторе работать с вложенными циклами? . это текущий итератор. А если у меня 2 вложенных цикла и я хочу внтури второго иметь к обеим доступ?
Slava
а никто не хочет добавить поддержку map[string]string, map[string]int в мою библиотеку парсинга флагов в структуры?
Slava
https://github.com/octago/sflags/issues/7
Заур
Почему интересно в этом задании голанг с таким треском проигрывает С++, java и остальным http://benchmarksgame.alioth.debian.org/u64q/binarytrees.html
Заур
2.5 секунды плюсы 34 (!) секунды голанг Задание сгенерировать Бин дерево и посчитать количество узлов для каждой глубины
Заур
Почему интересно такой эпик фейл. Медленная работа с памятью? Рекурсия?