apple / swift
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

File Change Frequency Overall
File Change Frequency Overall
The number of recorded file updates
  • There are 9,797 files with 1,144,484 lines of code.
    • 589 files changed more than 100 times (621,001 lines of code)
    • 505 files changed 51-100 times (132,379 lines of code)
    • 902 files changed 21-50 times (122,160 lines of code)
    • 6,744 files changed 6-20 times (229,064 lines of code)
    • 1,057 files changed 1-5 times (39,880 lines of code)
54% | 11% | 10% | 20% | 3%
Legend:
101+
51-100
21-50
6-20
1-5

Detailed data...

File Change Frequency per File Extension
swift, h, cpp, txt, py, json, md, rst, m, cmake, yaml, cfg, in, c, mm, ll, sh, inc, vim, plist, gitignore, el, html, d, css, bat, cmd, sed, tex, clang-format, rb, pod, js, gitattributes, TXT, arc, ini, bib, bash
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
cpp74% | 10% | 8% | 5% | 1%
h40% | 12% | 11% | 31% | 3%
swift16% | 12% | 14% | 48% | 7%
cmake69% | 7% | 7% | 11% | 4%
py20% | 25% | 31% | 19% | 2%
mm50% | 34% | 5% | 7% | 1%
el34% | 54% | 0% | 10% | 0%
in12% | 18% | 44% | 13% | 11%
c0% | 77% | 3% | 17% | 2%
inc0% | 45% | 0% | 17% | 37%
bash0% | 0% | 100% | 0% | 0%
TXT0% | 0% | 100% | 0% | 0%
m0% | 0% | 4% | 13% | 81%
yaml0% | 0% | 0% | 84% | 15%
rb0% | 0% | 0% | 100% | 0%
d0% | 0% | 0% | 20% | 79%
cfg0% | 0% | 0% | 50% | 50%
cmd0% | 0% | 0% | 100% | 0%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
lib75% | 10% | 7% | 5% | 1%
include58% | 16% | 14% | 7% | 2%
stdlib27% | 12% | 12% | 42% | 4%
tools62% | 15% | 11% | 9% | 1%
validation-test8% | 1% | 6% | 71% | 11%
utils17% | 21% | 23% | 27% | 9%
benchmark6% | 31% | 34% | 26% | 1%
cmake39% | 16% | 15% | 19% | 9%
unittests7% | 30% | 31% | 20% | 10%
ROOT0% | 0% | 100% | 0% | 0%
SwiftCompilerSources0% | 0% | 0% | 52% | 47%
Most Frequently Changed Files (Top 20)

See data for all files...

File# lines# unitslast modified
(days ago)
created
(days ago)
# changes
TypeCheckDecl.cpp
in lib/Sema
1983 26 3 3814 1637
Decl.cpp
in lib/AST
6938 408 3 4214 1623
Decl.h
in include/swift/AST
4191 535 3 4214 1509
ParseDecl.cpp
in lib/Parse
6341 79 3 3824 1430
CSApply.cpp
in lib/Sema
6185 89 5 2975 1413
CSSimplify.cpp
in lib/Sema
8591 80 5 2975 1339
ImportDecl.cpp
in lib/ClangImporter
7191 88 10 3363 1320
TypeChecker.h
in lib/Sema
483 13 44 3750 1243
ASTContext.cpp
in lib/AST
4254 136 3 4214 1241
Serialization.cpp
in lib/Serialization
4806 211 3 3190 1213
TypeCheckType.cpp
in lib/Sema
3132 61 4 3811 1186
TypeCheckProtocol.cpp
in lib/Sema
4867 68 2 3553 1172
TypeCheckConstraints.cpp
in lib/Sema
1523 43 10 3458 1164
ASTPrinter.cpp
in lib/AST
5343 400 4 3339 1160
SILGenExpr.cpp
in lib/SILGen
4193 160 11 3092 1135
IRGenSIL.cpp
in lib/IRGen
5316 270 11 3304 1126
CompilerInvocation.cpp
in lib/Frontend
1882 30 3 3084 1119
Type.cpp
in lib/AST
4630 187 5 4214 1116
Types.h
in include/swift/AST
3680 446 5 3954 1079
Deserialization.cpp
in lib/Serialization
5508 113 4 3087 1066