This is a static copy of a profile report

Home

ExecutableFunction>ExecutableFunction.validateArguments (Calls: 2, Time: 0.040 s)
Generated 04-Jun-2021 04:11:05 using performance time.
class method in file C:\Program Files\MATLAB\R2020b\toolbox\shared\io\general\+matlab\+io\+internal\+functions\ExecutableFunction.m
Copy to new window for comparing multiple runs

Parents (calling functions)

Function NameFunction TypeCalls
...nction>ExecutableFunction.validateclass method2
Lines where the most time was spent

Line NumberCodeCallsTotal Time% TimeTime Plot
61
func.(name) = varargin{i};
20.029 s71.7%
76
[paramStruct,additionalArgs] =...
20.005 s13.6%
74
results = parser.canonicalizeN...
10.001 s2.3%
82
func.(name) = paramStruct.(nam...
10.001 s1.6%
70
results = parser.canonicalizeN...
10.000 s1.1%
All other lines  0.004 s9.7%
Totals  0.040 s100% 
Children (called functions)

Function NameFunction TypeCallsTotal Time% TimeTime Plot
...;AcceptsReadableFilename.set.Filenameclass method20.028 s69.1%
...tParser>ArgumentParser.extractArgsclass method20.005 s11.3%
...r>ArgumentParser.canonicalizeNamesclass method20.001 s2.4%
...gt;ExecutableFunction.get.NumRequiredclass method20.000 s0.2%
mustBeNumericOrLogicalfunction10.000 s0.0%
ReadTable>ReadTable.usingRequiredclass method20.000 s0.0%
Self time (built-ins, overhead, etc.)  0.007 s17.1%
Totals  0.040 s100% 
Code Analyzer results
No Code Analyzer messages.
Coverage results
Show coverage for parent directory
Total lines in function35
Non-code lines (comments, blank lines)10
Code lines (lines that can run)25
Code lines that did run25
Code lines that did not run0
Coverage (did run/can run)100.00 %
Function listing
time 
Calls 
 line
  51 
        function [func, supplied, additionalArgs, results] = validateArguments(func,varargin)
  52 
        %validate input arguments
< 0.001 
      2 
  53
        parser = func.Parser; 
< 0.001 
      2 
  54
        supplied = func.SuppliedStruct; 
  55 
        
  56 
        % Process Required Names in order
< 0.001 
      2 
  57
        numReq = func.NumRequired; 
< 0.001 
      2 
  58
        reqNames = func.usingRequired(); 
< 0.001 
      2 
  59
        for i = 1:numReq 
< 0.001 
      2 
  60
            name = reqNames(i); 
  0.029 
      2 
  61
            func.(name) = varargin{i}; 
< 0.001 
      2 
  62
            supplied.(name) = true; 
< 0.001 
      2 
  63
        end 
  64 
        
  65 
        % get only the NV pairs
< 0.001 
      2 
  66
        params = varargin(numReq+1:end); 
< 0.001 
      2 
  67
        if ~isempty(params) 
< 0.001 
      1 
  68
            [params{1:2:end}] = convertStringsToChars(params{1:2:end}); 
  69 
            % resolve partial matches
< 0.001 
      1 
  70
            results = parser.canonicalizeNames(params(1:2:end)); 
< 0.001 
      1 
  71
            params(1:2:end) = cellstr(results.CanonicalNames); 
  72 
            % get the argument struct
      1 
  73
        else 
< 0.001 
      1 
  74
            results = parser.canonicalizeNames({}); 
< 0.001 
      2 
  75
        end 
  0.005 
      2 
  76
        [paramStruct,additionalArgs] = parser.extractArgs(params{:}); 
  77 
        
  78 
        % assign parameter values to object
< 0.001 
      2 
  79
        paramnames = fieldnames(paramStruct); 
< 0.001 
      2 
  80
        for i = 1:numel(paramnames) 
< 0.001 
      1 
  81
            name = paramnames{i}; 
< 0.001 
      1 
  82
            func.(name) = paramStruct.(name); % validate by object setter 
< 0.001 
      1 
  83
            supplied.(name) = true; 
< 0.001 
      1 
  84
        end 
< 0.001 
      2 
  85
        end 

Other subfunctions in this file are not included in this listing.