@proGO

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

Wingman
13.10.2016
20:41:29
не

вот только что

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
эм, как ответить на твой вопрос? :))

"сколько получится"

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
чем быстрее, тем лучше
ну вот 1 пинг в час

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
выполнение полного цикла более, чем за пару минут
полный цикл - это твои 5к устройств, так?

т.е. 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
ну вот худший случай - 5000 пингов на мертвые устройства за 2 минуты?
5К горутин заметной нагрузки на процессор не создадут

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

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

Vladimir
13.10.2016
20:49:41
точное время прохода цикла - не самоцель
первая вещь которую нужно сделать прежде чем оптимизировать - поставить задачу. То есть твоя задача чтобы худший случай - 5000 пингов за 2 минуты

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

Vladimir
13.10.2016
20:49:56
5К горутин заметной нагрузки на процессор не создадут
я пытаюсь у человека выяснить что он хочет в программе минимум.

Roman
13.10.2016
20:50:06
но я до сих пор не понял - это все о чем?
Человек с C переписывает пингер на Go

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

Wingman
13.10.2016
20:50:19
бляя

Kirill
13.10.2016
20:50:21
но я до сих пор не понял - это все о чем?
как оказалось, https://github.com/tatsushid/go-fastping жрет слишком много CPU

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
inspired by the AnyEvent::FastPing я не удивлен
я о AnyEvent::FastPing не могу ничего сказать, но в либе код там заставляет меня напрягаться

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
это еще зачем?

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
доебаться до вас - цели не было

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