2012-05-02 3 views
0

Есть ли какая-либо программа для измерения общего вычислительного времени и общего времени ввода-вывода (запись в стандартный вывод или файл) данной программы?Измерение времени вычислений и времени ввода/вывода программы

Edit: Это Linux 64-битная программа

+0

Что такое операционная система? Windows, Linux, ...? – schglurps

+0

В течение всего времени простые старые настенные часы или наручные часы прекрасно работают. Тогда, если вы можете получить кучу образцов стека * pstack * или что-то еще, их доля в I/O дает вам достаточно хорошую оценку. –

+0

@schglurps это linux, добавленный к моему вопросу – w00d

ответ

0

Вы можете использовать команду time, чтобы получить общие стенные часы и общее время процессора, который принимает процесс. Это даст вам разумную оценку, особенно для тяжелых процессов ввода-вывода.

+0

Я не вижу, как это может отделить время ввода-вывода и время вычисления – w00d

+0

Но это так - прочитайте man-страницу. – Useless

0

время:

$ time echo "hello world" 
hello world 

real 0m0.000s 
user 0m0.000s 
sys  0m0.000s 

Трассирование -c:

$ strace -c echo "hello world" 
hello world 
% time  seconds usecs/call  calls errors syscall 
------ ----------- ----------- --------- --------- ---------------- 
    nan 0.000000   0   1   read 
    nan 0.000000   0   1   write 
    nan 0.000000   0  14  12 open 
    nan 0.000000   0   3   close 
    nan 0.000000   0  12   9 stat 
    nan 0.000000   0   3   fstat 
    nan 0.000000   0   8   mmap 
    nan 0.000000   0   3   mprotect 
    nan 0.000000   0   2   munmap 
    nan 0.000000   0   3   brk 
    nan 0.000000   0   1   1 access 
    nan 0.000000   0   1   execve 
    nan 0.000000   0   1   uname 
    nan 0.000000   0   1   arch_prctl 
------ ----------- ----------- --------- --------- ---------------- 
100.00 0.000000     54  22 total 
Смежные вопросы