microsoft / mu_silicon_arm_tiano
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 324 files with 36,513 lines of code.
    • 0 very long files (0 lines of code)
    • 9 long files (5,566 lines of code)
    • 45 medium size files (12,517 lines of codeclsfd_ftr_w_mp_ins)
    • 61 small files (8,897 lines of code)
    • 209 very small files (9,533 lines of code)
0% | 15% | 34% | 24% | 26%
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
c0% | 20% | 38% | 25% | 16%
h0% | 11% | 10% | 25% | 52%
S0% | 0% | 35% | 18% | 46%
py0% | 0% | 42% | 42% | 14%
asm0% | 0% | 34% | 18% | 47%
inc0% | 0% | 47% | 19% | 33%
yaml0% | 0% | 59% | 0% | 40%
s0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
ArmPkg/Library0% | 13% | 47% | 18% | 20%
ArmPlatformPkg/Drivers0% | 30% | 51% | 12% | 5%
ArmVirtPkg/Library0% | 26% | 26% | 28% | 17%
ArmPkg/Filesystem0% | 92% | 0% | 0% | 7%
ArmPkg/Include0% | 20% | 8% | 27% | 43%
ArmPkg/Universal0% | 25% | 0% | 49% | 24%
ArmPkg/Drivers0% | 0% | 52% | 28% | 18%
ArmPlatformPkg/Scripts0% | 0% | 51% | 30% | 17%
ArmPlatformPkg/Library0% | 0% | 23% | 23% | 53%
ArmVirtPkg/FdtClientDxe0% | 0% | 100% | 0% | 0%
ArmVirtPkg0% | 0% | 47% | 19% | 33%
ArmPkg0% | 0% | 100% | 0% | 0%
ArmVirtPkg/PrePi0% | 0% | 0% | 76% | 23%
ArmPlatformPkg/PrePi0% | 0% | 0% | 41% | 58%
ArmVirtPkg/PlatformCI0% | 0% | 0% | 95% | 4%
ArmPlatformPkg/Include0% | 0% | 0% | 51% | 48%
ArmVirtPkg/XenAcpiPlatformDxe0% | 0% | 0% | 100% | 0%
ArmPlatformPkg/MemoryInitPei0% | 0% | 0% | 58% | 41%
ArmPlatformPkg/PrePeiCore0% | 0% | 0% | 0% | 100%
ArmVirtPkg/Include0% | 0% | 0% | 0% | 100%
ArmPlatformPkg0% | 0% | 0% | 0% | 100%
ArmVirtPkg/CloudHvAcpiPlatformDxe0% | 0% | 0% | 0% | 100%
ArmVirtPkg/HighMemDxe0% | 0% | 0% | 0% | 100%
ArmVirtPkg/VirtioFdtDxe0% | 0% | 0% | 0% | 100%
ArmPlatformPkg/PlatformPei0% | 0% | 0% | 0% | 100%
ArmVirtPkg/PlatformHasAcpiDtDxe0% | 0% | 0% | 0% | 100%
ArmVirtPkg/XenioFdtDxe0% | 0% | 0% | 0% | 100%
ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe0% | 0% | 0% | 0% | 100%
ArmVirtPkg/XenPlatformHasAcpiDtDxe0% | 0% | 0% | 0% | 100%
ArmVirtPkg/KvmtoolPlatformDxe0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ThumbDisassembler.c
in ArmPkg/Library/ArmDisassemblerLib
792 -
SemihostFs.c
in ArmPkg/Filesystem/SemihostFs/Arm
745 -
LcdGraphicsOutputBlt.c
in ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe
618 -
NorFlash.c
in ArmPlatformPkg/Drivers/NorFlashDxe
593 -
PlatformBm.c
in ArmPkg/Library/PlatformBootManagerLib
584 -
ArmLib.h
in ArmPkg/Include/Library
576 -
PlatformBm.c
in ArmVirtPkg/Library/PlatformBootManagerLib
566 -
ProcessorSubClass.c
in ArmPkg/Universal/Smbios/ProcessorSubClassDxe
551 -
PciExpressLib.c
in ArmVirtPkg/Library/BaseCachingPciExpressLib
541 -
ArmMmuLibCore.c
in ArmPkg/Library/ArmMmuLib/AArch64
474 -
S
AArch64Support.S
in ArmPkg/Library/ArmLib/AArch64
401 -
FdtClientDxe.c
in ArmVirtPkg/FdtClientDxe
371 -
NorFlashDxe.c
in ArmPlatformPkg/Drivers/NorFlashDxe
361 -
QemuFwCfgLib.c
in ArmVirtPkg/Library/QemuFwCfgLib
361 -
NorFlashFvb.c
in ArmPlatformPkg/Drivers/NorFlashDxe
357 -
Mmu.c
in ArmPkg/Drivers/CpuDxe/Arm
344 -
Optee.c
in ArmPkg/Library/OpteeLib
342 -
ArmDisassembler.c
in ArmPkg/Library/ArmDisassemblerLib
336 -
S
ExceptionSupport.S
in ArmPkg/Library/ArmExceptionLib/AArch64
336 -
ArmGicLib.c
in ArmPkg/Drivers/ArmGic
325 -
NorFlash.h
in ArmPlatformPkg/Drivers/NorFlashDxe
304 -
StandaloneMmCoreEntryPoint.c
in ArmPkg/Library/StandaloneMmCoreEntryPoint/Arm
291 -
ArmMmuLibCore.c
in ArmPkg/Library/ArmMmuLib/Arm
290 -
ArmMmuLibUpdate.c
in ArmPkg/Library/ArmMmuLib/Arm
286 -
LcdGraphicsOutputDxe.c
in ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe
284 -
NorFlashStandaloneMm.c
in ArmPlatformPkg/Drivers/NorFlashDxe
284 -
ArmGicV3Dxe.c
in ArmPkg/Drivers/ArmGic/GicV3
283 -
ScmiClockProtocol.c
in ArmPkg/Drivers/ArmScmiDxe
281 -
FdtPciHostBridgeLib.c
in ArmVirtPkg/Library/FdtPciHostBridgeLib
281 -
Mmu.c
in ArmPkg/Drivers/CpuDxe/AArch64
280 -
ScmiPerformanceProtocol.c
in ArmPkg/Drivers/ArmScmiDxe
274 -
ArmGicV2Dxe.c
in ArmPkg/Drivers/ArmGic/GicV2
260 -
ArmVirt.dsc.inc
in ArmVirtPkg
260 -
ArmPciCpuIo2Dxe.c
in ArmPkg/Drivers/ArmPciCpuIo2Dxe
253 -
S
ArmV7Support.S
in ArmPkg/Library/ArmLib/Arm
249 -
MmCommunication.c
in ArmPkg/Drivers/MmCommunicationDxe
247 -
PL011UartLib.c
in ArmPlatformPkg/Library/PL011UartLib
242 -
firmware_volume.py
in ArmPlatformPkg/Scripts/Ds5
239 30
ArmMmuStandaloneMmLib.c
in ArmPkg/Library/StandaloneMmMmuLib
238 -
ArmV7Support.asm
in ArmPkg/Library/ArmLib/Arm
237 -
ArmGicLib.h
in ArmPkg/Include/Library
236 -
S
ExceptionSupport.S
in ArmPkg/Library/ArmExceptionLib/Arm
235 -
PL061Gpio.c
in ArmPlatformPkg/Drivers/PL061GpioDxe
234 -
ArmPkg.ci.yaml
in ArmPkg
232 -
ExceptionSupport.asm
in ArmPkg/Library/ArmExceptionLib/Arm
232 -
NorFlashKvmtool.c
in ArmVirtPkg/Library/NorFlashKvmtoolLib
232 -
profile.py
in ArmPlatformPkg/Scripts/Ds5
231 5
HobLib.c
in ArmVirtPkg/Library/ArmVirtDxeHobLib
225 -
DefaultExceptionHandler.c
in ArmPkg/Library/DefaultExceptionHandlerLib/AArch64
224 -
ArmMaliDp.c
in ArmPlatformPkg/Library/ArmMaliDp
221 -
Files With Most Units (Top 11)
File# lines# units
ArmSoftFloatLib.c
in ArmPkg/Library/ArmSoftFloatLib
176 42
firmware_volume.py
in ArmPlatformPkg/Scripts/Ds5
239 30
PlatformBuild.py
in ArmVirtPkg/PlatformCI
193 21
edk2_debugger.py
in ArmPlatformPkg/Scripts/Ds5
160 12
system_table.py
in ArmPlatformPkg/Scripts/Ds5
119 7
ArmVirtRules.fdf.inc
in ArmVirtPkg
68 6
build_report.py
in ArmPlatformPkg/Scripts/Ds5
32 5
profile.py
in ArmPlatformPkg/Scripts/Ds5
231 5
console_loader.py
in ArmPlatformPkg/Scripts/Ds5
42 4
ArmExceptionLib.c
in ArmPkg/Library/ArmExceptionLib
155 1
cmd_load_symbols.py
in ArmPlatformPkg/Scripts/Ds5
86 1
Files With Long Lines (Top 20)

There are 46 files with lines longer than 120 characters. In total, there are 209 long lines.

File# lines# units# long lines
ArmV7Mmu.h
in ArmPkg/Include/Chipset
189 - 36
DefaultExceptionHandler.c
in ArmPkg/Library/DefaultExceptionHandlerLib/AArch64
224 - 27
LcdGraphicsOutputBlt.c
in ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe
618 - 16
edk2_debugger.py
in ArmPlatformPkg/Scripts/Ds5
160 12 14
ArmDisassembler.c
in ArmPkg/Library/ArmDisassemblerLib
336 - 9
ThumbDisassembler.c
in ArmPkg/Library/ArmDisassemblerLib
792 - 9
DefaultExceptionHandler.c
in ArmPkg/Library/DefaultExceptionHandlerLib/Arm
192 - 9
DebugPeCoffExtraActionLib.c
in ArmPkg/Library/DebugPeCoffExtraActionLib
83 - 7
NorFlashFvb.c
in ArmPlatformPkg/Drivers/NorFlashDxe
357 - 7
Mmu.c
in ArmPkg/Drivers/CpuDxe/Arm
344 - 6
NorFlash.c
in ArmPlatformPkg/Drivers/NorFlashDxe
593 - 6
NorFlashDxe.c
in ArmPlatformPkg/Drivers/NorFlashDxe
361 - 4
NorFlashStandaloneMm.c
in ArmPlatformPkg/Drivers/NorFlashDxe
284 - 4
system_table.py
in ArmPlatformPkg/Scripts/Ds5
119 7 4
TimerDxe.c
in ArmPkg/Drivers/TimerDxe
176 - 3
DebugAgentSymbolsBaseLib.c
in ArmPkg/Library/DebugAgentSymbolsBaseLib
211 - 3
PL111Lcd.h
in ArmPlatformPkg/Library/PL111Lcd
92 - 3
MemoryInitPeiLib.c
in ArmPlatformPkg/MemoryInitPei
121 - 3
firmware_volume.py
in ArmPlatformPkg/Scripts/Ds5
239 30 3
VarStore.fdf.inc
in ArmVirtPkg
33 - 3