@proGO

Страница 1264 из 1674
Александр
03.03.2018
18:17:14
так! я попрошу не путать легкоживующие гоурутины, с тяжелыми процессаим которые почти в бесконечном цикло молотят

Daniel
03.03.2018
18:17:26
все одно чушь

Sergey
03.03.2018
18:17:34
Александр
03.03.2018
18:17:47
ну вот даниел не верит что-то в истины

Google
Daniel
03.03.2018
18:17:49
пологаю, что половина должна делать for {} А другая половина disk io
10-20 таких воркеров на 4 ядра все одно не будут тормозить

ну вот даниел не верит что-то в истины
это не вопрос веры. просто кое-кто говорит ерунду

Александр
03.03.2018
18:18:27
будут, именно поэтому делают канал и на него подписывают воркеров по количеству ядер. А не на каждую микрозадачу свою гоурутину

Savely
03.03.2018
18:19:08
А ее можно удалить?

Foxcool
03.03.2018
18:19:11
дак если я не путаю, системных тредов все равно по дефолту немного будет (по числу ядер что ли). А гороутины уже можно гораздо больше числа ядер создавать

главное не сажать роутины наглухо на проц и не забивать все ядра сразу

Daniel
03.03.2018
18:19:53
коллеги

ну херню же говорите

причем так уверенно...

Foxcool
03.03.2018
18:20:57
расскажи нормально нехерню, лично я с радостью почитаю (:

Александр
03.03.2018
18:21:00
ну вот с чего вы решили то? там еще блокировки будут постоянные

плюсом в оверхеду на переключение гоурутин

Google
Foxcool
03.03.2018
18:21:34
там переключение не такое же дорогое, как у тредов таки

Александр
03.03.2018
18:21:35
(если использовать мьютекс для записи)

да не такое дорогое, но когда у вас запись на 128 миллионов записей...

Daniel
03.03.2018
18:21:57
расскажи нормально нехерню, лично я с радостью почитаю (:
я пока не понимаю, на какую тему надо высказаться шедулер получает управление при вводе-выводе и при вызове не-inline функции. при таких раскладах именно лагать это все не может и не будет. даже на одном ядре

Александр
03.03.2018
18:24:53
он просто выжрет все ядра (64 на xeon) и похоронит систему ?

я лично проходил

но это было год или два назад, на 1.2 если память не изменяет

там еще надо было специально указывать количество ядер при старте

Kirill
03.03.2018
18:25:40
Ты явно сам же написал фигню

Тем более, год назад кто 1.2 в проде держал?

Alexey
03.03.2018
18:26:24


Alexey
03.03.2018
18:27:57
https://play.golang.org/p/0H28rZFzb6y

Александр
03.03.2018
18:28:12
походу даниел сделал макрос со словом "херня"

Foxcool
03.03.2018
18:28:33
а в чем предмет спора вообще? Что если надо делать что-то долгое и тяжелое (не IO), то не создавать кучу гороутин, а делать некий пулл, куда по входящему каналу идут задачи, а по исходящему результат (очередь пресловутая)?

Daniel
03.03.2018
18:29:06
походу даниел сделал макрос со словом "херня"
ближе к делу. мы хотим увидеть волшебный код, который при 5 горутинах на ядро будет лагать

Google
Foxcool
03.03.2018
18:30:46
и еще, нафига так конликтогенами сыпать?

Daniel
03.03.2018
18:31:04
у меня реально начинались лаги в районе 10М горутин

но 10М - это очень много

Foxcool
03.03.2018
18:31:23
зачим атмосферу такую токсичную заводить. так превратимся в горстку агрессивных задротов, где за вопрос на писюнделях оттаскивают (:

Daniel
03.03.2018
18:31:53
не-не-не

Kirill
03.03.2018
18:32:00
Напрашивается вопрос к Александру Попову - есть ли у него родственник по имени Денис? :))

Daniel
03.03.2018
18:32:00
херню надо называть херней

Александр
03.03.2018
18:32:06
я вам напишу тест, только не сегодня

Daniel
03.03.2018
18:32:13
ок, ждем

спасибо!

Kirill
03.03.2018
18:32:24
Слив засчитан ?

Alexey
03.03.2018
18:32:33
Наверно, вы про разные лаги говорите просто.

Александр
03.03.2018
18:32:47
Слив засчитан ?
ой у вас много свободного времени? может быть напишите? ?

Alexey
03.03.2018
18:33:14
https://play.golang.org/p/0H28rZFzb6y
Если б у меня было что-то ещё CPU жрущее. они бы друг другу и с этими 21 горутиной мешали бы. Чем не лаги?)

Kirill
03.03.2018
18:33:16
ой у вас много свободного времени? может быть напишите? ?
А я знаю, что ты херню сказал и нечего тут писать :)

Daniel
03.03.2018
18:34:18
Ruslan
03.03.2018
18:41:27
А если какую нибудь синтетическую задачу просто запустить и проверить? Не знаю, создать сотни тысяч горутин и в них выполнять условный поиск по графу (любая задача требуящая много процессорного времени) и проверить просто?

Daniel
03.03.2018
18:41:45
проверено неоднократно

Google
Ruslan
03.03.2018
18:42:25
А если при этом приложению оперативы не хватит, допустим, на хранение данных, оно начнет кешировать данные на диск?

Kirill
03.03.2018
18:43:00
У меня реальные задачи и около 400 горутин на одно ядро на самом мелком проекте, всё работает хорошо

Daniel
03.03.2018
18:43:01
а?!

Admin
ERROR: S client not available

Daniel
03.03.2018
18:43:25
само приложение кешировать данные на диск не начнет. не умеет.

Ruslan
03.03.2018
18:43:51
ОС умеет

Daniel
03.03.2018
18:43:53
если у нас система в своп ушла - это да, будут лаги

но они и при одной горутине будут

Ruslan
03.03.2018
18:44:05
Ну вот, я про это

Единственный вариант при котором всё лагать начнет который возник в голове

Может человек в диалоге выше с чем-то подобным и столкнулся

Daniel
03.03.2018
18:45:01
а еще можно выключить комп. тогда вообще ничего не будет работать

но не распознал, и решил, что виноваты горутины?

Александр
03.03.2018
18:46:23
type RowStruct struct { ID int ParentId int Level int Name string } db := make([]*RowStruct, 10000000) вот приблизительно объем бд, уровней вложенности - 10

первым циклом вы фильтруем все level 0 элементы, и на каждый запускаем гоурутину которая ищет подуровни

и так циклы циклы циклы...

Ruslan
03.03.2018
18:47:43
Какая странная реализация поиска в глубину

Александр
03.03.2018
18:48:02
это не совсем поиск

это перестроение дерева

Google
Александр
03.03.2018
18:48:22
надо чужие ID на свои поменять, паралельно мы создаем свое

Daniel
03.03.2018
18:48:36
сколько горутин мы в результате запустили? 10М?

Александр
03.03.2018
18:48:53
около 7 на нулевой уровень

на первом уровне запустим около 20

Daniel
03.03.2018
18:49:27
не, не понимаю

Александр
03.03.2018
18:49:36
на третьем уровне запустим ...

на 12 клетке у нас кончается зерно и приехали ?

ну если вы понимаете о чем я

Daniel
03.03.2018
18:50:26
"я написал программу, которая не работает. видимо, это потому, что горутины лагают"

Александр
03.03.2018
18:50:49
вообще то я и говорю что такой подход не срабатывает O_o

но вы упорно мне пытаетесь доказать что все ок, можно плодить

Daniel
03.03.2018
18:51:24
а?!

Александр
03.03.2018
18:52:55
7 гоурутин сидели в main, каждая наплодила еще 20, та наплодила еще по 10... уже 1400 гоурутин ?

Daniel
03.03.2018
18:53:08
и что?

я же говорю - проблемы начинаются в районе 10М

Страница 1264 из 1674