LINUX.ORG.RU

Замер производительности в Perl.


0

0

Существуют ли пакеты, позволяющие получать статистику, аналогичную той, что выдаёт systat? Если нет, то как можно выцепить эту информацию из самого systat? А-то столкнулся сейчас с задачей, когда требуется вести подробные логи нагрузки на IO и CPU из самого скрипта, формировать отчёты и строить графики, а как реализовать не секу.

Используйте модуль Benchmark.pm.

use Benchmark;

@junk = `cat /etc/motd`;
$count = 10_000;

timethese($count, {
'map' => sub { my @a = @junk;
map { s/a/b/ } @a;
return @a },
'for' => sub { my @a = @junk;
for (@a) { s/a/b/ };
return @a },
});


Будет распечатано :

Benchmark: timing 10000 iterations of for, map...
for: 4 secs ( 3.97 usr 0.01 sys = 3.98 cpu)
map: 6 secs ( 4.97 usr 0.00 sys = 4.97 cpu)

kto_tama ★★★★★
()

Прямо из перла - никак, я думаю. systat - это системно-зависимая программа, которая ходит в ядро и спрашивает у него (более того, у меня на Fedora, например, такой программы нет).

Возножно, на цпане есть что-то для твоей ОС готовое, иначе придется писать на C.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.