apple / swift-tools-support-core
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 103 files with 12,715 lines of code.
    • 0 very long files (0 lines of code)
    • 6 long files (3,900 lines of code)
    • 12 medium size files (3,197 lines of codeclsfd_ftr_w_mp_ins)
    • 22 small files (3,036 lines of code)
    • 63 very small files (2,582 lines of code)
0% | 30% | 25% | 23% | 20%
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
swift0% | 32% | 23% | 23% | 20%
h0% | 0% | 93% | 0% | 6%
py0% | 0% | 0% | 100% | 0%
c0% | 0% | 0% | 0% | 100%
in0% | 0% | 0% | 0% | 100%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
Sources/TSCBasic0% | 45% | 13% | 19% | 21%
Sources/TSCUtility0% | 23% | 35% | 26% | 14%
Sources/TSCclibc/include0% | 0% | 93% | 0% | 6%
Sources/TSCTestSupport0% | 0% | 0% | 40% | 59%
Utilities0% | 0% | 0% | 100% | 0%
ROOT0% | 0% | 0% | 0% | 100%
Sources/TSCLibc0% | 0% | 0% | 0% | 100%
Sources/TSCclibc0% | 0% | 0% | 0% | 100%
cmake/modules0% | 0% | 0% | 0% | 100%
Longest Files (Top 50)
File# lines# units
ArgumentParser.swift
in Sources/TSCUtility
757 19
Process.swift
in Sources/TSCBasic
740 1
FileSystem.swift
in Sources/TSCBasic
726 52
Path.swift
in Sources/TSCBasic
585 11
FSWatch.swift
in Sources/TSCUtility
576 7
WritableByteStream.swift
in Sources/TSCBasic
516 18
indexstore_functions.h
in Sources/TSCclibc/include
391 -
BitstreamWriter.swift
in Sources/TSCUtility
354 -
PkgConfig.swift
in Sources/TSCUtility
293 6
BitstreamReader.swift
in Sources/TSCUtility
278 9
misc.swift
in Sources/TSCBasic
260 2
Version.swift
in Sources/TSCUtility
247 2
JSON.swift
in Sources/TSCBasic
240 1
OSLog.swift
in Sources/TSCBasic
238 -
SQLite.swift
in Sources/TSCUtility
237 1
SerializedDiagnostics.swift
in Sources/TSCUtility
228 6
ProgressAnimation.swift
in Sources/TSCUtility
219 6
IndexStore.swift
in Sources/TSCUtility
212 4
ArgumentParserShellCompletion.swift
in Sources/TSCUtility
200 -
Triple.swift
in Sources/TSCUtility
192 -
HashAlgorithms.swift
in Sources/TSCBasic
170 4
Diagnostics.swift
in Sources/TSCUtility
163 -
build-script-helper.py
in Utilities
162 16
StringMangling.swift
in Sources/TSCUtility
160 -
Lock.swift
in Sources/TSCBasic
157 2
Bitstream.swift
in Sources/TSCUtility
148 4
XCTAssertHelpers.swift
in Sources/TSCTestSupport
141 -
Base64URL.swift
in Sources/TSCBasic
135 2
TemporaryFile.swift
in Sources/TSCBasic
133 2
TerminalController.swift
in Sources/TSCBasic
131 -
Tracing.swift
in Sources/TSCUtility
131 -
DiagnosticsEngine.swift
in Sources/TSCBasic
128 -
JSONMapper.swift
in Sources/TSCBasic
125 -
Netrc.swift
in Sources/TSCUtility
121 2
JSONMessageStreamingParser.swift
in Sources/TSCUtility
114 5
SimplePersistence.swift
in Sources/TSCUtility
110 3
SortedArray.swift
in Sources/TSCBasic
106 -
AssertMatch.swift
in Sources/TSCTestSupport
106 2
InterruptHandler.swift
in Sources/TSCUtility
102 -
dlopen.swift
in Sources/TSCUtility
101 1
PathShims.swift
in Sources/TSCBasic
99 -
StringExtensions.swift
in Sources/TSCUtility
98 1
ByteString.swift
in Sources/TSCBasic
94 -
Package.swift
in root
90 -
Bits.swift
in Sources/TSCUtility
84 8
OrderedZip.swift
in Sources/TSCUtility
82 -
Product.swift
in Sources/TSCTestSupport
81 -
Platform.swift
in Sources/TSCUtility
81 -
StringConversions.swift
in Sources/TSCBasic
80 1
OrderedDictionary.swift
in Sources/TSCBasic
77 -
Files With Most Units (Top 20)
File# lines# units
FileSystem.swift
in Sources/TSCBasic
726 52
ArgumentParser.swift
in Sources/TSCUtility
757 19
WritableByteStream.swift
in Sources/TSCBasic
516 18
build-script-helper.py
in Utilities
162 16
Path.swift
in Sources/TSCBasic
585 11
BitstreamReader.swift
in Sources/TSCUtility
278 9
Bits.swift
in Sources/TSCUtility
84 8
FSWatch.swift
in Sources/TSCUtility
576 7
PkgConfig.swift
in Sources/TSCUtility
293 6
ProgressAnimation.swift
in Sources/TSCUtility
219 6
SerializedDiagnostics.swift
in Sources/TSCUtility
228 6
JSONMessageStreamingParser.swift
in Sources/TSCUtility
114 5
HashAlgorithms.swift
in Sources/TSCBasic
170 4
Bitstream.swift
in Sources/TSCUtility
148 4
IndexStore.swift
in Sources/TSCUtility
212 4
PersistenceCache.swift
in Sources/TSCUtility
58 4
DeltaAlgorithm.swift
in Sources/TSCBasic
72 3
SimplePersistence.swift
in Sources/TSCUtility
110 3
Base64URL.swift
in Sources/TSCBasic
135 2
GraphAlgorithms.swift
in Sources/TSCBasic
74 2
Files With Long Lines (Top 20)

There are 22 files with lines longer than 120 characters. In total, there are 80 long lines.

File# lines# units# long lines
Version.swift
in Sources/TSCUtility
247 2 15
Netrc.swift
in Sources/TSCUtility
121 2 9
FileSystem.swift
in Sources/TSCBasic
726 52 8
Process.swift
in Sources/TSCBasic
740 1 8
ArgumentParser.swift
in Sources/TSCUtility
757 19 6
IndexStore.swift
in Sources/TSCUtility
212 4 6
AssertMatch.swift
in Sources/TSCTestSupport
106 2 5
TemporaryFile.swift
in Sources/TSCBasic
133 2 4
OSLog.swift
in Sources/TSCBasic
238 - 3
Base64URL.swift
in Sources/TSCBasic
135 2 2
BitstreamReader.swift
in Sources/TSCUtility
278 9 2
PkgConfig.swift
in Sources/TSCUtility
293 6 2
CodableResult.swift
in Sources/TSCBasic
47 - 1
Lock.swift
in Sources/TSCBasic
157 2 1
PseudoTerminal.swift
in Sources/TSCTestSupport
40 - 1
XCTAssertHelpers.swift
in Sources/TSCTestSupport
141 - 1
PolymorphicCodable.swift
in Sources/TSCUtility
36 - 1
SQLite.swift
in Sources/TSCUtility
237 1 1
SimplePersistence.swift
in Sources/TSCUtility
110 3 1
Tracing.swift
in Sources/TSCUtility
131 - 1