freertos / FreeRTOS-Kernel
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 446 files with 97,018 lines of code.
    • 15 very long files (33,425 lines of code)
    • 16 long files (10,337 lines of code)
    • 88 medium size files (25,661 lines of codeclsfd_ftr_w_mp_ins)
    • 118 small files (16,294 lines of code)
    • 209 very small files (11,301 lines of code)
34% | 10% | 26% | 16% | 11%
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
h61% | 1% | 4% | 15% | 16%
c15% | 21% | 40% | 16% | 7%
S0% | 12% | 74% | 6% | 6%
s0% | 0% | 59% | 30% | 9%
asm0% | 0% | 0% | 90% | 9%
inc0% | 0% | 0% | 0% | 100%
py0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
portable/IAR54% | 7% | 15% | 12% | 10%
portable/GCC27% | 11% | 34% | 16% | 10%
ROOT69% | 20% | 6% | 2% | 1%
portable/Common100% | 0% | 0% | 0% | 0%
include0% | 30% | 18% | 31% | 19%
portable/MPLAB0% | 19% | 40% | 31% | 8%
portable/ARMv8M0% | 12% | 54% | 24% | 8%
portable/RVDS0% | 16% | 46% | 25% | 11%
portable/Renesas0% | 0% | 37% | 37% | 24%
portable/MemMang0% | 0% | 69% | 17% | 13%
portable/CCS0% | 0% | 32% | 44% | 23%
portable/MikroC0% | 0% | 81% | 0% | 18%
portable/MSVC-MingW0% | 0% | 81% | 0% | 18%
portable/Softune0% | 0% | 49% | 30% | 20%
portable/SDCC0% | 0% | 81% | 0% | 18%
portable/WizC0% | 0% | 53% | 28% | 17%
portable/Tasking0% | 0% | 0% | 85% | 14%
portable/oWatcom0% | 0% | 0% | 53% | 46%
portable/BCC0% | 0% | 0% | 59% | 40%
portable/CodeWarrior0% | 0% | 0% | 32% | 67%
portable/Paradigm0% | 0% | 0% | 29% | 70%
portable/Rowley0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ioat91sam7x256.h
in portable/GCC/ARM7_AT91SAM7S
3908 -
tasks.c
in root
3281 83
lib_AT91SAM7X256.h
in portable/IAR/AtmelSAM7S64
2468 355
lib_AT91SAM7X128.h
in portable/IAR/AtmelSAM7S64
2468 355
lib_AT91SAM7X256.h
in portable/GCC/ARM7_AT91SAM7S
2468 355
AT91SAM7X256.h
in portable/GCC/ARM7_AT91SAM7S
2299 -
AT91SAM7X256.h
in portable/IAR/AtmelSAM7S64
2285 -
AT91SAM7X128.h
in portable/IAR/AtmelSAM7S64
2285 -
queue.c
in root
2035 50
AT91SAM7X256_inc.h
in portable/IAR/AtmelSAM7S64
2016 -
AT91SAM7X128_inc.h
in portable/IAR/AtmelSAM7S64
2016 -
lib_AT91SAM7S64.h
in portable/IAR/AtmelSAM7S64
1765 248
AT91SAM7S64.h
in portable/IAR/AtmelSAM7S64
1590 -
AT91SAM7S64_inc.h
in portable/IAR/AtmelSAM7S64
1487 -
mpu_wrappers.c
in portable/Common
1054 92
stream_buffer.c
in root
857 25
FreeRTOS.h
in include
825 -
timers.c
in root
677 27
S
port_asm.S
in portable/MPLAB/PIC32MZ
640 -
port.c
in portable/IAR/ARM_CM33_NTZ/non_secure
625 12
port.c
in portable/IAR/ARM_CM23_NTZ/non_secure
625 12
port.c
in portable/IAR/ARM_CM33/non_secure
625 12
port.c
in portable/IAR/ARM_CM23/non_secure
625 12
port.c
in portable/GCC/ARM_CM33_NTZ/non_secure
625 12
port.c
in portable/GCC/ARM_CM23_NTZ/non_secure
625 12
port.c
in portable/GCC/ARM_CM33/non_secure
625 12
port.c
in portable/GCC/ARM_CM23/non_secure
625 12
port.c
in portable/ARMv8M/non_secure
625 12
port.c
in portable/GCC/ARM_CM4_MPU
608 16
port.c
in portable/RVDS/ARM_CM4_MPU
563 20
port.c
in portable/GCC/ARM_CM3_MPU
542 15
event_groups.c
in root
478 15
portmacro.h
in portable/GCC/AVR32_UC3
468 -
portmacro.h
in portable/IAR/AVR32_UC3
452 -
port.c
in portable/IAR/ARM_CM4F_MPU
416 11
portasm.c
in portable/GCC/ARM_CM23/non_secure
400 11
portasm.c
in portable/ARMv8M/non_secure/portable/GCC/ARM_CM23
400 11
port.c
in portable/MikroC/ARM_CM4F
399 14
s
portASM.s
in portable/IAR/RISC-V
389 -
port.c
in portable/GCC/ARM_CM4F
373 11
port.c
in portable/GCC/ARM_CM7/r0p1
370 11
portasm.c
in portable/GCC/ARM_CM33/non_secure
363 11
portasm.c
in portable/ARMv8M/non_secure/portable/GCC/ARM_CM33
363 11
S
portASM.S
in portable/GCC/ARM_CA53_64_BIT
360 -
port.c
in portable/RVDS/ARM_CM4F
360 14
s
portasm.s
in portable/IAR/ARM_CM23/non_secure
356 -
s
portasm.s
in portable/ARMv8M/non_secure/portable/IAR/ARM_CM23
356 -
port.c
in portable/RVDS/ARM_CM7/r0p1
356 14
S
portASM.S
in portable/GCC/ARM_CA53_64_BIT_SRE
355 -
port.c
in portable/GCC/IA32_flat
355 17
Files With Most Units (Top 20)
File# lines# units
lib_AT91SAM7X256.h
in portable/IAR/AtmelSAM7S64
2468 355
lib_AT91SAM7X128.h
in portable/IAR/AtmelSAM7S64
2468 355
lib_AT91SAM7X256.h
in portable/GCC/ARM7_AT91SAM7S
2468 355
lib_AT91SAM7S64.h
in portable/IAR/AtmelSAM7S64
1765 248
mpu_wrappers.c
in portable/Common
1054 92
tasks.c
in root
3281 83
queue.c
in root
2035 50
timers.c
in root
677 27
stream_buffer.c
in root
857 25
port.c
in portable/RVDS/ARM_CM4_MPU
563 20
port.c
in portable/GCC/IA32_flat
355 17
port.c
in portable/GCC/ARM_CM4_MPU
608 16
event_groups.c
in root
478 15
port.c
in portable/GCC/ARM_CM3_MPU
542 15
port.c
in portable/MikroC/ARM_CM4F
399 14
port.c
in portable/RVDS/ARM_CM7/r0p1
356 14
port.c
in portable/RVDS/ARM_CM0
264 14
port.c
in portable/RVDS/ARM_CM4F
360 14
port.c
in portable/MSVC-MingW
328 13
port.c
in portable/RVDS/ARM_CM3
323 13
Files With Long Lines (Top 20)

There are 214 files with lines longer than 120 characters. In total, there are 1244 long lines.

File# lines# units# long lines
port.c
in portable/MPLAB/PIC24_dsPIC
204 6 55
tasks.c
in root
3281 83 41
s
portasm.s
in portable/IAR/ARM_CM23/non_secure
356 - 24
s
portasm.s
in portable/ARMv8M/non_secure/portable/IAR/ARM_CM23
356 - 24
s
portasm.s
in portable/IAR/ARM_CM33/non_secure
319 - 23
s
portASM.s
in portable/IAR/RISC-V
389 - 23
s
portasm.s
in portable/ARMv8M/non_secure/portable/IAR/ARM_CM33
319 - 23
semphr.h
in include
60 - 17
stack_macros.h
in include
65 - 16
portmacro.h
in portable/GCC/TriCore_1782
83 - 16
S
portASM.S
in portable/GCC/RISC-V
331 - 16
portasm.h
in portable/oWatcom/16BitDOS/common
55 - 15
ioat91sam7x256.h
in portable/GCC/ARM7_AT91SAM7S
3908 - 15
portmacro.h
in portable/GCC/CORTUS_APS3
79 - 15
heap_2.c
in portable/MemMang
148 4 15
FreeRTOS.h
in include
825 - 13
port.c
in portable/RVDS/ARM_CA9
241 10 13
port.c
in portable/IAR/ARM_CM4F_MPU
416 11 12
port.c
in portable/GCC/ARM_CM4_MPU
608 16 12
port.c
in portable/RVDS/ARM_CM4_MPU
563 20 12