Size: a a a

pro.rb (Ruby/Rails / RU)

2021 February 18

DT

Dmitry Tsepelev in pro.rb (Ruby/Rails / RU)
Иногда влияют такие вещи, на которые ты сразу и не подумаешь, а иногда “точно взлетит” показывает изменение в рамках статистической погрешности
источник

М

Марат in pro.rb (Ruby/Rails / RU)
Dmitry Tsepelev
Если проверять именно онлайн, как в изначальном сообщении — я бы на группу пользователей выкатил фейк (плашку “#{rand(1000)} пользователей онлайн”) и посмотрел, влияет ли это на что–нибудь или нет, а потом уж бежал делать
Мне нравится, смешное решение
источник

DT

Dmitry Tsepelev in pro.rb (Ruby/Rails / RU)
Шутки шутками а делать 15 минут, плюс пару дней на тест
источник

VS

Viacheslav Stepanov in pro.rb (Ruby/Rails / RU)
Black Olive
Скажите пожалуйста, в rails каким способом лучше сделать функционал онлайн-оффлайн юзеров?
А сколько у вас пользователей онлайн?
источник
2021 February 19

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Хотите интересное?
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
из мира АТСок?)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Мне нужно было попарсить выхлоп одной консольной команды. 18,5к строк.
Было 2 варианта - IO.popen и `` - как думаете что лучше натравить на это??
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Roman Usherenko
из мира АТСок?)
Почти)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Я просто уже прошелся и bencmark-ips и benchmark-memory - но интересны ваши предположения)
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
а что за ``?
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
просто вызов консольной команды
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Kernel#
источник

МВ

Максим Вейсгейм... in pro.rb (Ruby/Rails / RU)
понял
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
ShadoWalkeR
Мне нужно было попарсить выхлоп одной консольной команды. 18,5к строк.
Было 2 варианта - IO.popen и `` - как думаете что лучше натравить на это??
думаю попен по памяти лучше
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Парсинг очень простой:
    _, uri = line.chomp.gsub('"', '').split(':  ')
   user = uri.split('@')[0].gsub('sip:', '')
   #puts "#{user} - #{uri.split(';')[0].gsub(',', '')}"
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Roman Usherenko
думаю попен по памяти лучше
Неа)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Собственно там по разному строится работа с выхлопом
IO.popen("kamctl ul show | grep Address") do |addresses|
   while line = addresses.gets do
   end
end

и
 `kamctl ul show | grep Address`.split('\n').each do |line|
end
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Не буду томить - вот результаты по памяти
Calculating -------------------------------------
         IO.popen:         23.756M memsize (    40.000  retained)
                      381.570k objects (     1.000  retained)
                       50.000  strings (     0.000  retained)
          Kernel#:          6.942M memsize (    40.000  retained)
                       18.759k objects (     1.000  retained)
                       50.000  strings (     0.000  retained)

Comparison:
          Kernel#:     :    6941563 allocated
         IO.popen:     :   23755956 allocated - 3.42x more
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
и по производительности
Warming up --------------------------------------
         IO.popen:          1.000  i/100ms
          Kernel#:          1.000  i/100ms
Calculating -------------------------------------
         IO.popen:           0.099  (± 0.0%) i/s -      1.000  in  10.105896s
          Kernel#:           0.089  (± 0.0%) i/s -      1.000  in  11.199934s

Comparison:
         IO.popen:     :        0.1 i/s
          Kernel#:     :        0.1 i/s - 1.11x  (± 0.00) slower
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Причем я сначала попробовал while  line=kamctl ul show | grep Address.split('\n').pop do но там такая жесткая просадка по производительности началась, что проще оказалось eachем перебрать
источник