microsoft / git
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 1,036 files with 719,941 lines of code.
    • 135 very long files (569,735 lines of code)
    • 87 long files (60,068 lines of code)
    • 157 medium size files (49,357 lines of codeclsfd_ftr_w_mp_ins)
    • 153 small files (21,925 lines of code)
    • 504 very small files (18,856 lines of code)
79% | 8% | 6% | 3% | 2%
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
po99% | 0% | <1% | <1% | <1%
c56% | 20% | 14% | 5% | 3%
perl85% | 3% | 6% | 3% | 1%
h20% | 7% | 21% | 15% | 35%
py93% | 0% | 0% | 4% | 1%
bash99% | 0% | 0% | 0% | <1%
tcl19% | 23% | 39% | 14% | 3%
pm28% | 25% | 31% | 9% | 4%
mbox0% | 88% | 0% | 0% | 11%
css0% | 100% | 0% | 0% | 0%
pl0% | 0% | 17% | 55% | 27%
sed0% | 0% | 100% | 0% | 0%
zsh0% | 0% | 100% | 0% | 0%
go0% | 0% | 0% | 72% | 27%
S0% | 0% | 0% | 100% | 0%
cocci0% | 0% | 0% | 23% | 76%
tcsh0% | 0% | 0% | 100% | 0%
t0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
el0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
po99% | 0% | 0% | 0% | <1%
ROOT60% | 15% | 13% | 4% | 4%
builtin52% | 31% | 8% | 5% | 3%
git-gui74% | 6% | 12% | 5% | <1%
gitk-git100% | 0% | 0% | 0% | 0%
compat60% | 13% | 14% | 3% | 8%
gitweb92% | 7% | 0% | 0% | 0%
contrib46% | 4% | 21% | 18% | 8%
reftable37% | 21% | 11% | 10% | 19%
refs48% | 21% | 28% | 0% | 1%
perl34% | 21% | 30% | 8% | 4%
sha1dc79% | 0% | 17% | 0% | 3%
t13% | 14% | 27% | 19% | 26%
xdiff0% | 42% | 48% | 0% | 8%
trace20% | 23% | 47% | 15% | 13%
ewah0% | 0% | 42% | 20% | 37%
negotiator0% | 0% | 0% | 86% | 13%
ppc0% | 0% | 0% | 72% | 27%
block-sha10% | 0% | 0% | 93% | 6%
sha2560% | 0% | 0% | 78% | 21%
ci0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
po
sv.po
in po
23120 -
po
pl.po
in po
22034 -
po
bg.po
in po
22000 -
po
fr.po
in po
21962 -
po
de.po
in po
21777 -
po
es.po
in po
21752 -
po
it.po
in po
21473 -
po
ca.po
in po
21431 -
po
zh_TW.po
in po
21306 -
po
vi.po
in po
21268 -
po
tr.po
in po
21165 -
po
pt_PT.po
in po
20917 -
po
zh_CN.po
in po
20753 -
po
id.po
in po
20597 -
po
ru.po
in po
18902 -
po
el.po
in po
17105 -
po
ko.po
in po
14392 -
gitweb.perl
in gitweb
6401 236
diff.c
in root
5566 202
sequencer.c
in root
4612 126
apply.c
in root
3748 135
git-cvsserver.perl
in root
3489 89
regexec.c
in compat/regex
3484 1
malloc.c.h
in compat/nedmalloc
3265 60
revision.c
in root
3111 115
git-p4.py
in root
3088 189
pack-objects.c
in builtin
3085 102
regcomp.c
in compat/regex
3062 1
fast-import.c
in builtin
2983 103
mingw.c
in compat
2979 96
git-completion.bash
in contrib/completion
2960 -
config.c
in root
2820 148
merge-recursive.c
in root
2788 79
merge-ort.c
in root
2770 58
dir.c
in root
2701 106
read-cache.c
in root
2678 99
submodule--helper.c
in builtin
2637 71
gvfs-helper.c
in root
2357 77
po
de.po
in git-gui/po
2295 -
po
bg.po
in git-gui/po
2242 -
ref-filter.c
in root
2198 78
files-backend.c
in refs
2187 64
po
sv.po
in git-gui/po
2179 -
po
pt_pt.po
in git-gui/po
2164 -
wt-status.c
in root
2148 79
po
vi.po
in git-gui/po
2146 -
SVN.pm
in perl/Git
2144 51
object-file.c
in root
2142 100
po
ja.po
in git-gui/po
2138 -
receive-pack.c
in builtin
2135 46
Files With Most Units (Top 20)
File# lines# units
gitweb.perl
in gitweb
6401 236
diff.c
in root
5566 202
git-p4.py
in root
3088 189
config.c
in root
2820 148
apply.c
in root
3748 135
sequencer.c
in root
4612 126
revision.c
in root
3111 115
refs.c
in root
1886 113
dir.c
in root
2701 106
fast-import.c
in builtin
2983 103
pack-objects.c
in builtin
3085 102
object-file.c
in root
2142 100
read-cache.c
in root
2678 99
mingw.c
in compat
2979 96
git-cvsserver.perl
in root
3489 89
gc.c
in builtin
1940 83
merge-recursive.c
in root
2788 79
wt-status.c
in root
2148 79
git-send-email.perl
in root
1828 78
ref-filter.c
in root
2198 78
Files With Long Lines (Top 20)

There are 82 files with lines longer than 120 characters. In total, there are 491 long lines.

File# lines# units# long lines
po
ru.po
in po
18902 - 148
ubc_check.c
in sha1dc
341 1 59
po
ru.po
in git-gui/po
2072 - 31
git-cvsserver.perl
in root
3489 89 26
sha1.c
in sha1dc
1597 13 11
fast-import.c
in builtin
2983 103 9
git-p4.py
in root
3088 189 9
blame.c
in builtin
965 25 7
Vcxproj.pm
in contrib/buildsystems/Generators
306 2 7
fsck.c
in root
1051 40 7
po
de.po
in git-gui/po/glossary
334 - 7
po
ru.po
in gitk-git/po
1054 - 7
userdiff.c
in root
328 7 7
commit.c
in builtin
1645 38 6
cache.h
in root
1028 13 6
po
bg.po
in git-gui/po/glossary
220 - 6
po
el.po
in git-gui/po/glossary
131 - 6
po
fr.po
in git-gui/po/glossary
128 - 6
po
it.po
in git-gui/po/glossary
147 - 6
po
pt_br.po
in git-gui/po/glossary
131 - 6