Создание
итогового отчета
Для создания
суммарного отчета о профилировании служит команда profsum, которая используется
в нескольких формах:
-
profsumm
— вывод полного отчета о результатах профилирования т-файла. Выводятся данные
о времени выполнения для строк, суммарное время выполнения которых составляет
95% от общего времени (если таких строк много, выводятся данные о 10 строках,
выполнение которых заняло наибольшее время);
-
profsumm(FRACTION)
— выводит часть отчета для строк, относительное время выполнения которых
составляет FRACTION (от 0.0 до 1.0) от общего времени выполнения файла;
-
profsurmi(N)
— выводится отчет по N строкам с максимальным временем выполнения;
-
profsumm(STR)
— выводит отчет только по тем строкам, в которых встречается строковое выражение
STR;
-
profsumm(INFO),
profsurmKINFO, FRACTION), profsumm(INFO, N) HprofsummdNFO, STR) -выводят
итоговый отчет по строкам, заданным массивом INFO.
Пример применения
команды profsumm:
»
profile erfcore
»
z = erf(0:.01:100):
»
profsumm. profile done
Total
time in "C:\MATLAB\toolbox\mat1ab
\specfun\erfcore.m":
0.16 seconds
94%
of the total time was spent on lines:
[99
109 108 97 95 94 92 86 71 48]
47:
%
0.01s.
6*48: k = find((abs(x)
>
xbreak) & (abs(x) <= 4.)):
49:
if -isempty(k)
70:
del = (y-z).*(y+z):
0.01s,
6*71: result(k)
=
exp(-z.*z) .* exp(-del) .* result(k)
72:
end
85:
0.01s.
6%
86:
у
= abs(x(k)):
87:
z = 1 ./ (y .* y):
91:
xnum = (xnum + p(i)) .* z:
0.01s,
6*92: xden = (xden + q(i)) .* z:
93:
end
0.01s,
6*94: result(k) =
z
.* (xnum + p(5)) ./ (xden + q(5)):
0.01s,
6*95: result(k)
=
(1/sqrt(pi) - result(k)) ./y:
96:
if jint — 2 0.01s,
6%
97;
z
= fix(y*16)/16;
98:
del - (y-z).*(y+z):
0.06s.
38*99: result(k) =
exp(-z.*z)
.* exp(-del) .* result(k)
100:
k - find(~isfinite(result));
107:
if jint ==0
0.01s,
6%
108: k = find(x > xbreak);
0.01s,
6%
109: result(k)=
(0.5
- result(k)) + 0.5;
110:
k = find(x < -xbreak);
Содержание раздела