microsoft / CNTK
File Size

The distribution of size of files (measured in lines of code).

Intro
  • File size measurements show the distribution of size of files.
  • Files are classified in four categories based on their size (lines of code): 1-100 (very small files), 101-200 (small files), 201-500 (medium size files), 501-1000 (long files), 1001+(very long files).
  • It is a good practice to keep files small. Long files may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
File Size Overall
  • There are 828 files with 223,732 lines of code.
    • 48 very long files (98,542 lines of code)
    • 65 long files (45,096 lines of code)
    • 133 medium size files (42,345 lines of codeclsfd_ftr_w_mp_ins)
    • 155 small files (22,321 lines of code)
    • 427 very small files (15,428 lines of code)
44% | 20% | 18% | 9% | 6%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: zoomable circles | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
cpp48% | 26% | 15% | 5% | 3%
h40% | 18% | 23% | 9% | 8%
cu84% | 7% | 5% | 1% | 1%
py35% | 15% | 24% | 12% | 12%
cuh93% | 0% | 6% | 0% | 0%
i52% | 21% | 8% | 13% | 3%
cc0% | 67% | 0% | 23% | 9%
filters0% | 18% | 27% | 27% | 26%
ps10% | 18% | 47% | 23% | 10%
cs0% | 30% | 0% | 43% | 26%
vcxproj0% | 0% | 22% | 73% | 3%
proto0% | 0% | 81% | 0% | 18%
hpp0% | 0% | 77% | 0% | 22%
props0% | 0% | 0% | 82% | 17%
cmake0% | 0% | 0% | 58% | 41%
vssettings0% | 0% | 0% | 100% | 0%
java0% | 0% | 0% | 100% | 0%
yml0% | 0% | 0% | 0% | 100%
psm10% | 0% | 0% | 0% | 100%
cmd0% | 0% | 0% | 0% | 100%
TXT0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Source/Math68% | 8% | 13% | 4% | 4%
Source/CNTKv2LibraryDll58% | 21% | 10% | 6% | 2%
Source/Readers32% | 16% | 23% | 15% | 11%
Source/ComputationNetworkLib47% | 35% | 12% | 4% | 1%
bindings/python40% | 13% | 25% | 10% | 9%
Source/Common33% | 38% | 16% | 7% | 4%
Source/SGDLib40% | 8% | 32% | 12% | 6%
Source/ActionsLib25% | 27% | 32% | 10% | 3%
Source/SequenceTrainingLib43% | 31% | 16% | 0% | 8%
Source/CNTK0% | 77% | 19% | 2% | <1%
bindings/common0% | 78% | 0% | 14% | 7%
Tools/devInstall0% | 30% | 47% | 16% | 5%
bindings/csharp0% | 21% | 13% | 43% | 21%
Source/1BitSGD0% | 0% | 85% | 9% | 5%
Source/Extensibility0% | 0% | 57% | 19% | 22%
Scripts/install0% | 0% | 40% | 20% | 39%
Source/PerformanceProfilerDll0% | 0% | 65% | 22% | 12%
Source/EvalDll0% | 0% | 37% | 35% | 27%
bindings/java0% | 0% | 0% | 68% | 31%
ROOT0% | 0% | 0% | 89% | 10%
Scripts0% | 0% | 0% | 76% | 23%
Tools/cmake0% | 0% | 0% | 58% | 41%
Source/DelayLoadedExtensionsDll0% | 0% | 0% | 63% | 36%
Tools0% | 0% | 0% | 46% | 53%
Tutorials/ImageHandsOn0% | 0% | 0% | 0% | 100%
PretrainedModels0% | 0% | 0% | 0% | 100%
Tools/cntk-binary-drop0% | 0% | 0% | 0% | 100%
Tutorials/NumpyInterop0% | 0% | 0% | 0% | 100%
Tutorials/HelloWorld-LogisticRegression0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
CNTKToONNX.cpp
in Source/CNTKv2LibraryDll/proto/onnx
6831 131
CPUMatrixImpl.h
in Source/Math
5866 131
GPUMatrixCUDAKernels.cuh
in Source/Math
5225 -
Matrix.cpp
in Source/Math
5047 171
GPUMatrix.cu
in Source/Math
4404 -
__init__.py
in bindings/python/cntk/ops
3485 126
ONNXToCNTK.cpp
in Source/CNTKv2LibraryDll/proto/onnx
3276 83
Function.cpp
in Source/CNTKv2LibraryDll
3152 248
CNTKLibrary.h
in Source/CNTKv2LibraryDll/API
3120 253
GPUSparseMatrix.cu
in Source/Math
2772 -
SGD.cpp
in Source/SGDLib
2649 37
msra_mgram.h
in Source/Readers/Kaldi2Reader
2571 124
TrainingNodes.h
in Source/ComputationNetworkLib
2172 160
NoGPU.cpp
in Source/Math
2120 241
CompositeFunction.cpp
in Source/CNTKv2LibraryDll
1956 31
i
cntk_py.i
in bindings/python/cntk
1877 -
ComputationNode.h
in Source/ComputationNetworkLib
1771 193
fileutil.cpp
in Source/Common
1642 100
HTKMLFReader.cpp
in Source/Readers/HTKMLFReader
1609 24
HTKMLFReader.cpp
in Source/Readers/Kaldi2Reader
1595 25
functions.py
in bindings/python/cntk/ops
1573 78
CPUSparseMatrix.cpp
in Source/Math
1527 43
ReshapingNodes.h
in Source/ComputationNetworkLib
1522 146
SequenceReader.cpp
in Source/Readers/LMSequenceReader
1507 38
MklDnnCommon.h
in Source/Math
1502 98
LinearAlgebraNodes.h
in Source/ComputationNetworkLib
1484 106
utterancesourcemulti.h
in Source/Readers/HTKMLFReader
1469 51
ssematrix.h
in Source/Readers/Kaldi2Reader
1466 97
msra_mgram.h
in Source/Readers/HTKMLFReader
1443 94
ssematrix.h
in Source/Common/Include
1434 93
SimpleNetworkBuilder.cpp
in Source/ActionsLib
1408 14
PrimitiveFunction.cpp
in Source/CNTKv2LibraryDll
1364 17
ConvolutionalNodes.h
in Source/ComputationNetworkLib
1268 95
ComputationNetwork.cpp
in Source/ComputationNetworkLib
1207 29
GPUTensor.cu
in Source/Math
1192 -
layers.py
in bindings/python/cntk/layers
1184 22
latticearchive.h
in Source/Common/Include
1178 42
SpecialPurposeNodes.h
in Source/ComputationNetworkLib
1134 86
utterancesourcemulti.h
in Source/Readers/Kaldi2Reader
1121 37
Utils.cpp
in Source/CNTKv2LibraryDll
1103 40
latticeforwardbackward.cpp
in Source/SequenceTrainingLib
1079 19
CntkBatchNormalization.cuh
in Source/Math
1077 -
LUSequenceReader.cpp
in Source/Readers/LUSequenceReader
1043 37
Config.h
in Source/Common/Include
1037 63
NDArrayView.cpp
in Source/CNTKv2LibraryDll
1036 46
TextParser.cpp
in Source/Readers/CNTKTextFormatReader
1035 29
__init__.py
in bindings/python/cntk/learners
1007 31
Learner.cpp
in Source/CNTKv2LibraryDll
1002 62
__init__.py
in bindings/python/cntk/io
997 63
BinaryFile.cpp
in Source/Readers/BinaryReader
988 24
Files With Most Units (Top 20)
File# lines# units
CNTKLibrary.h
in Source/CNTKv2LibraryDll/API
3120 253
Function.cpp
in Source/CNTKv2LibraryDll
3152 248
NoGPU.cpp
in Source/Math
2120 241
ComputationNode.h
in Source/ComputationNetworkLib
1771 193
Matrix.cpp
in Source/Math
5047 171
TrainingNodes.h
in Source/ComputationNetworkLib
2172 160
ReshapingNodes.h
in Source/ComputationNetworkLib
1522 146
MPIWrapper.cpp
in Source/Common
916 142
CNTKToONNX.cpp
in Source/CNTKv2LibraryDll/proto/onnx
6831 131
CPUMatrixImpl.h
in Source/Math
5866 131
__init__.py
in bindings/python/cntk/ops
3485 126
msra_mgram.h
in Source/Readers/Kaldi2Reader
2571 124
LinearAlgebraNodes.h
in Source/ComputationNetworkLib
1484 106
fileutil.cpp
in Source/Common
1642 100
MklDnnCommon.h
in Source/Math
1502 98
ssematrix.h
in Source/Readers/Kaldi2Reader
1466 97
ConvolutionalNodes.h
in Source/ComputationNetworkLib
1268 95
msra_mgram.h
in Source/Readers/HTKMLFReader
1443 94
ssematrix.h
in Source/Common/Include
1434 93
SpecialPurposeNodes.h
in Source/ComputationNetworkLib
1134 86
Files With Long Lines (Top 20)

There are 473 files with lines longer than 120 characters. In total, there are 10583 long lines.

File# lines# units# long lines
CNTKToONNX.cpp
in Source/CNTKv2LibraryDll/proto/onnx
6831 131 497
Matrix.cpp
in Source/Math
5047 171 470
GPUMatrix.cu
in Source/Math
4404 - 379
ComputationNetworkBuilder.cpp
in Source/ComputationNetworkLib
927 1 359
CNTKLibrary.h
in Source/CNTKv2LibraryDll/API
3120 253 308
Function.cpp
in Source/CNTKv2LibraryDll
3152 248 305
CompositeFunction.cpp
in Source/CNTKv2LibraryDll
1956 31 270
PrimitiveFunction.cpp
in Source/CNTKv2LibraryDll
1364 17 221
CPUMatrixImpl.h
in Source/Math
5866 131 195
GPUSparseMatrix.cu
in Source/Math
2772 - 189
NoGPU.cpp
in Source/Math
2120 241 189
ComputationNode.h
in Source/ComputationNetworkLib
1771 193 158
GPUTensor.cu
in Source/Math
1192 - 156
layers.py
in bindings/python/cntk/layers
1184 22 154
ONNXToCNTK.cpp
in Source/CNTKv2LibraryDll/proto/onnx
3276 83 137
SGD.cpp
in Source/SGDLib
2649 37 127
GPUMatrixCUDAKernels.cuh
in Source/Math
5225 - 124
MPIWrapper.cpp
in Source/Common
916 142 121
Matrix.h
in Source/Math
519 16 110
BackCompat.cpp
in Source/CNTKv2LibraryDll
636 10 103