I want to find out why two similar processes have very different runtimes.
To do this, I need to be able to merge the two Profiler tables (Function Name, Calls, Total Time, Self Time) by Function Name, and compute the time difference for each function name.
Can MATLAB do this?
Thank you.

1 commentaire

Leigh Sneddon
Leigh Sneddon le 20 Fév 2022
Alternatively, can MATLAB save the Profiler output table (Function Name, Calls, Total Time, Self Time) to a text or spreadsheet file?
Thank you.

Connectez-vous pour commenter.

 Réponse acceptée

profile on; categorical(1:10); profile off;
p = profile("info");
struct2table(p.FunctionTable)
ans = 20×12 table
CompleteName FunctionName FileName Type Children Parents ExecutedLines IsRecursive TotalRecursiveTime PartialData NumCalls TotalTime ___________________________________________________________________________________________________________________________ ___________________________________________________ ___________________________________________________________________________________________________________ _____________________ _____________ ____________ _____________ ___________ __________________ ___________ ________ _________ {'/MATLAB/toolbox/matlab/datatypes/categorical/@categorical/categorical.m>categorical.categorical' } {'categorical.categorical>categorical.categorical'} {'/MATLAB/toolbox/matlab/datatypes/categorical/@categorical/categorical.m' } {'M-method' } {10×1 struct} {1×1 struct} {62×3 double} false 0 false 1 0.021023 {'/MATLAB/toolbox/matlab/datatypes/shared/matlab_datatypes/+matlab/+internal/+datatypes/parseArgs.m>parseArgs' } {'parseArgs' } {'/MATLAB/toolbox/matlab/datatypes/shared/matlab_datatypes/+matlab/+internal/+datatypes/parseArgs.m' } {'M-function' } { 0×1 struct} {1×1 struct} {21×3 double} false 0 false 1 0.002496 {'/MATLAB/toolbox/matlab/datatypes/shared/matlab_datatypes/+matlab/+internal/+datatypes/validateLogical.m>validateLogical'} {'validateLogical' } {'/MATLAB/toolbox/matlab/datatypes/shared/matlab_datatypes/+matlab/+internal/+datatypes/validateLogical.m'} {'M-function' } { 0×1 struct} {1×1 struct} { 3×3 double} false 0 false 2 0.000274 {'/MATLAB/toolbox/matlab/datafun/+matlab/+internal/+math/ismissingKernel.m>ismissingKernel' } {'ismissingKernel' } {'/MATLAB/toolbox/matlab/datafun/+matlab/+internal/+math/ismissingKernel.m' } {'M-function' } { 2×1 struct} {1×1 struct} { 7×3 double} false 0 false 1 0.001396 {'/MATLAB/toolbox/matlab/datatypes/shared/matlab_datatypes/+matlab/+internal/+datatypes/istabular.m>istabular' } {'istabular' } {'/MATLAB/toolbox/matlab/datatypes/shared/matlab_datatypes/+matlab/+internal/+datatypes/istabular.m' } {'M-function' } { 0×1 struct} {2×1 struct} { 2×3 double} false 0 false 2 0.000312 {'/MATLAB/toolbox/matlab/ops/unique.m>unique' } {'unique' } {'/MATLAB/toolbox/matlab/ops/unique.m' } {'M-function' } { 1×1 struct} {1×1 struct} {12×3 double} false 0 false 1 0.002708 {'/MATLAB/toolbox/matlab/ops/unique.m>uniqueR2012a' } {'unique>uniqueR2012a' } {'/MATLAB/toolbox/matlab/ops/unique.m' } {'M-subfunction' } { 0×1 struct} {1×1 struct} { 8×3 double} false 0 false 1 0.001403 {'/MATLAB/toolbox/matlab/datafun/+matlab/+internal/+math/ismissingKernel.m>ismissingKernel/arraySwitch' } {'ismissingKernel>arraySwitch' } {'/MATLAB/toolbox/matlab/datafun/+matlab/+internal/+math/ismissingKernel.m' } {'M-nested-function'} { 0×1 struct} {1×1 struct} { 6×3 double} false 0 false 1 0.000388 {'/MATLAB/toolbox/matlab/datafun/ismissing.m>ismissing' } {'ismissing' } {'/MATLAB/toolbox/matlab/datafun/ismissing.m' } {'M-function' } { 1×1 struct} {1×1 struct} { 3×3 double} false 0 false 1 0.001816 {'/MATLAB/toolbox/matlab/datatypes/categorical/@categorical/categorical.m>removeUtil' } {'categorical.categorical>removeUtil' } {'/MATLAB/toolbox/matlab/datatypes/categorical/@categorical/categorical.m' } {'M-subfunction' } { 0×1 struct} {1×1 struct} { 3×3 double} false 0 false 1 3.6e-05 {'/MATLAB/toolbox/matlab/strfun/num2str.m>num2str' } {'num2str' } {'/MATLAB/toolbox/matlab/strfun/num2str.m' } {'M-function' } { 1×1 struct} {1×1 struct} {32×3 double} false 0 false 1 0.006679 {'/MATLAB/toolbox/matlab/strfun/int2str.m>int2str' } {'int2str' } {'/MATLAB/toolbox/matlab/strfun/int2str.m' } {'M-function' } { 0×1 struct} {1×1 struct} {23×3 double} false 0 false 1 0.002604 {'/MATLAB/toolbox/matlab/strfun/cellstr.m>cellstr' } {'cellstr' } {'/MATLAB/toolbox/matlab/strfun/cellstr.m' } {'M-function' } { 0×1 struct} {1×1 struct} {12×3 double} false 0 false 1 0.001264 {'/MATLAB/toolbox/matlab/ops/@cell/unique.m>unique' } {'cell.unique' } {'/MATLAB/toolbox/matlab/ops/@cell/unique.m' } {'M-function' } { 0×1 struct} {1×1 struct} {10×3 double} false 0 false 1 0.000905 {'/MATLAB/toolbox/matlab/datatypes/categorical/@categorical/categorical.m>categorical.castCodes' } {'categorical.categorical>categorical.castCodes' } {'/MATLAB/toolbox/matlab/datatypes/categorical/@categorical/categorical.m' } {'M-method' } { 0×1 struct} {1×1 struct} { 4×3 double} false 0 false 1 7.1e-05 {'/tmp/Editor_ymhri/LiveEditorEvaluationHelperEeditorId.m>LiveEditorEvaluationHelperEeditorId' } {'LiveEditorEvaluationHelperEeditorId' } {'/tmp/Editor_ymhri/LiveEditorEvaluationHelperEeditorId.m' } {'M-script' } { 1×1 struct} {1×1 struct} { 0×3 double} false 0 false 1 0.022783

Plus de réponses (0)

Catégories

Produits

Version

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by