This is a static copy of a profile report

Home

Function details for genpathThis is a static copy of a profile report

Home

genpath (Calls: 2, Time: 0.007 s)
Generated 19-Jun-2021 04:39:07 using performance time.
function in file /nfs/linux/matlab-2019b/toolbox/matlab/general/genpath.m
Copy to new window for comparing multiple runs

Parents (calling functions)

Function NameFunction TypeCalls
cnn_trainfunction2
Lines where the most time was spent

Line NumberCodeCallsTotal Time% TimeTime Plot
38
files = dir(d);
20.003 s42.5%
44
p = [p d pathsep];
20.002 s23.7%
47
isdir = logical(cat(1,files.is...
20.001 s8.0%
55
dirname = dirs(i).name;
40.000 s6.7%
64
end
40.000 s4.6%
All other lines  0.001 s14.5%
Totals  0.007 s100% 
Children (called functions)

Function NameFunction TypeCallsTotal Time% TimeTime Plot
pathsepfunction20.001 s8.1%
Self time (built-ins, overhead, etc.)  0.006 s91.9%
Totals  0.007 s100% 
Code Analyzer results
Line numberMessage
26Extra comma is unnecessary in IF statement before newline.
62The variable 'p' appears to change size on every loop iteration. Consider preallocating for speed.
Coverage results
Show coverage for parent directory
Total lines in function64
Non-code lines (comments, blank lines)35
Code lines (lines that can run)29
Code lines that did run20
Code lines that did not run9
Coverage (did run/can run)68.97 %
Function listing
time 
Calls 
 line
   1 
function p = genpath(d)
   2 
%GENPATH Generate recursive toolbox path.
   3 
%   P = GENPATH returns a character vector containing a path name 
   4 
%   that includes all the folders and subfolders below MATLABROOT/toolbox, 
   5 
%   including empty subfolders.
   6 
%
   7 
%   P = GENPATH(FOLDERNAME) returns a character vector containing a path 
   8 
%   name that includes FOLDERNAME and all subfolders of FOLDERNAME, 
   9 
%   including empty subfolders.
  10 
%   
  11 
%   NOTE 1: GENPATH will not exactly recreate the original MATLAB path.
  12 
%
  13 
%   NOTE 2: GENPATH only includes subfolders allowed on the MATLAB
  14 
%   path.
  15 
%
  16 
%   See also PATH, ADDPATH, RMPATH, SAVEPATH.
  17 

  18 
%   Copyright 1984-2018 The MathWorks, Inc.
  19 
%------------------------------------------------------------------------------
  20 

  21 
% String Adoption
< 0.001 
      2 
  22
if nargin > 0 
< 0.001 
      2 
  23
    d = convertStringsToChars(d); 
< 0.001 
      2 
  24
end 
  25 

< 0.001 
      2 
  26
if nargin==0, 
  27 
  p = genpath(fullfile(matlabroot,'toolbox'));
  28 
  if length(p) > 1, p(end) = []; end % Remove trailing pathsep
  29 
  return
< 0.001 
      2 
  30
end 
  31 

  32 
% initialise variables
< 0.001 
      2 
  33
classsep = '@';  % qualifier for overloaded class directories 
< 0.001 
      2 
  34
packagesep = '+';  % qualifier for overloaded package directories 
< 0.001 
      2 
  35
p = '';           % path to be returned 
  36 

  37 
% Generate path based on given root directory
  0.003 
      2 
  38
files = dir(d); 
< 0.001 
      2 
  39
if isempty(files) 
  40 
  return
< 0.001 
      2 
  41
end 
  42 

  43 
% Add d to the path even if it is empty.
  0.002 
      2 
  44
p = [p d pathsep]; 
  45 

  46 
% set logical vector for subdirectory entries in d
< 0.001 
      2 
  47
isdir = logical(cat(1,files.isdir)); 
  48 
%
  49 
% Recursively descend through directories which are neither
  50 
% private nor "class" directories.
  51 
%
< 0.001 
      2 
  52
dirs = files(isdir); % select only directory entries from the current listing 
  53 

< 0.001 
      2 
  54
for i=1:length(dirs) 
< 0.001 
      4 
  55
   dirname = dirs(i).name; 
< 0.001 
      4 
  56
   if    ~strcmp( dirname,'.')          && ... 
      2 
  57
         ~strcmp( dirname,'..')         && ... 
  58 
         ~strncmp( dirname,classsep,1) && ...
  59 
         ~strncmp( dirname,packagesep,1) && ...
  60 
         ~strcmp( dirname,'private')    && ...
  61 
         ~strcmp( dirname,'resources')
  62 
      p = [p genpath(fullfile(d,dirname))]; % recursive calling of this function.
< 0.001 
      4 
  63
   end 
< 0.001 
      4 
  64
end 

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