
Roman
13.10.2016
20:41:04
Wingman - по твоему коду вижу следующее.
У тебя запускается 150 воркеров, которые внутри используют mutex. Это очень дорогостоящая и блокирующая операция.

Wingman
13.10.2016
20:41:29
не
вот только что

Kirill
13.10.2016
20:41:46

Google

Wingman
13.10.2016
20:41:48
Ну, в общем, да, я так и думал :)
https://github.com/ircop/tmp_gopinger/commit/c95f2e0eb92829d66aef6611b3f70102504a651f
короче, убрал реальный пинг
зато запросы в бд стал слатть через раз
нагрузки на cpu нуль

Vladimir
13.10.2016
20:42:15
@wingz https://go-talks.appspot.com/github.com/davecheney/high-performance-go-workshop/high-performance-go-workshop.slide#1 краткая шпаргалка про то как можно потыкать в производительность

Roman
13.10.2016
20:44:36
В любом случае, это не Go way. Сколько пингов в секунду должно быть?

Wingman
13.10.2016
20:45:19
эм, как ответить на твой вопрос? :))
"сколько получится"

Kirill
13.10.2016
20:45:31

Vladimir
13.10.2016
20:45:36

Wingman
13.10.2016
20:45:36
зависит от числа воркеров, числа свитчей в базе, итд

Roman
13.10.2016
20:45:43
Сколько устройств в базе?

Google

Wingman
13.10.2016
20:45:55

Vladimir
13.10.2016
20:46:17

Roman
13.10.2016
20:46:20
Запускай каждый пинг в отдельной горутине

Wingman
13.10.2016
20:46:25

Vladimir
13.10.2016
20:46:37
1 пинг в час - это хорошая скорость?

Kirill
13.10.2016
20:46:45

Wingman
13.10.2016
20:46:47

Vladimir
13.10.2016
20:46:54

Kirill
13.10.2016
20:46:56
там под коробкой в горутинах пинг уже

Roman
13.10.2016
20:46:56
Тут на днях были тесты. Я на слпбом сервере запускают миллион горутин за пару секунд

Vladimir
13.10.2016
20:47:08

Wingman
13.10.2016
20:47:24

Roman
13.10.2016
20:47:28
Top не успевает отработать за олин тик.

Wingman
13.10.2016
20:47:32
но это один хер никак не рассчитаешь

Vladimir
13.10.2016
20:47:41
т.е. 5000 пингов в 2 минуты?

Wingman
13.10.2016
20:47:47
да

Google

Roman
13.10.2016
20:48:09
На миллион горутин нужно 2 гига памяти

Vladimir
13.10.2016
20:48:39

Wingman
13.10.2016
20:48:43
точное время прохода цикла - не самоцель
+- небольшой лапоть - похрен

Daniel
13.10.2016
20:49:07

Roman
13.10.2016
20:49:28
Я считаю, что это идеальный кейс для использования горутин

Daniel
13.10.2016
20:49:38
но я до сих пор не понял - это все о чем?

Vladimir
13.10.2016
20:49:41

Daniel
13.10.2016
20:49:53
клылатый человек что нам продать хочет?

Vladimir
13.10.2016
20:49:56

Roman
13.10.2016
20:50:06

Vladimir
13.10.2016
20:50:12
потому что не зная что ты хочешь нельзя получить результат

Wingman
13.10.2016
20:50:19
бляя

Kirill
13.10.2016
20:50:21

Wingman
13.10.2016
20:50:29
чтож вы такие слажные

Vladimir
13.10.2016
20:50:48
короче все, нафиг

Google

Wingman
13.10.2016
20:50:58
да :)

Daniel
13.10.2016
20:51:16

Vladimir
13.10.2016
20:51:20
@wingz просто тебя не устраивает производительность - бери профайлер в зубы и тыкай в код
определяй узкое место, смотри как можно оптимизировать

Wingman
13.10.2016
20:51:39
да, я понимаю

Vladimir
13.10.2016
20:51:41
и так пока не начнет устраивать скорость или загрузка цпу или что ты там хочешь

Wingman
13.10.2016
20:51:44
я вообще ничо щас не прошу и не хочу

Daniel
13.10.2016
20:51:53
нечего там опитимизировать, так-то

Wingman
13.10.2016
20:51:54
я как раз написал выше, что _примерно_ определил узкое место
а ты ТЗ блин требуешь

Admin
ERROR: S client not available

Wingman
13.10.2016
20:52:03

Vladimir
13.10.2016
20:52:04
карочи, в данном случае меня устраивает _всё_, кроме быстродействия :)

Daniel
13.10.2016
20:52:26
быстродествие мое, красно-зелееноое

Kirill
13.10.2016
20:52:30

Anton
13.10.2016
20:54:10
в ае::fp там простой код внутри

Daniel
13.10.2016
20:54:44
но совершенно другой же, чем надо писать на go
я вот вижу бесконечный цикл без слипа

Wingman
13.10.2016
20:55:41
кстати, чужую сишную либу сложно к гошке прилинковать?)

Google

Wingman
13.10.2016
20:55:48
яб с удовольствием liboping поюзал

Daniel
13.10.2016
20:55:55
чтобы что?

Wingman
13.10.2016
20:56:01
чтобы пингать

Daniel
13.10.2016
20:56:02
блядь
я понимаю владимира, чего он к тебе прицепился
и понимаю, почему послал
5К пингов в 2 минуты можно на баше написать
а можно на ассемблере
но

Wingman
13.10.2016
20:56:54
ктож спорит

Daniel
13.10.2016
20:57:01
НИХЕРА не выиграть
понимаешь?
эта задача не требует оптимизайции

Roman
13.10.2016
20:57:18
Да че вы взъелись, это же учебная задача

Wingman
13.10.2016
20:57:33
понимаю

Roman
13.10.2016
20:57:43
Цель написать настолько оптимально, насколько получится

Wingman
13.10.2016
20:57:44
чтоб не баттхертить, перечитайте всё с самого начала тогда уж

Daniel
13.10.2016
20:57:58
это еще зачем?

Wingman
13.10.2016
20:58:03

Daniel
13.10.2016
20:58:25
это все зачем?

Wingman
13.10.2016
20:58:25
сегодня написал и удивился: работает на пару порядков медленнее, чем на сях

Daniel
13.10.2016
20:58:34
плохо написал

Wingman
13.10.2016
20:58:35
доебаться до вас - цели не было