anthropics / s5cmd
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 48 files with 8,617 lines of code.
    • 1 very long files (1,151 lines of code)
    • 1 long files (921 lines of code)
    • 13 medium size files (4,037 lines of code)
    • 9 small files (1,282 lines of code)
    • 24 very small files (1,226 lines of code)
13% | 10% | 46% | 14% | 14%
Legend:
1001+
501-1000
201-500
101-200
1-100


explore: grouped by folders | grouped by size | sunburst | 3D view
File Size per Extension
1001+
501-1000
201-500
101-200
1-100
go14% | 11% | 40% | 16% | 15%
py0% | 0% | 99% | 0% | <1%
File Size per Logical Decomposition
primary
1001+
501-1000
201-500
101-200
1-100
storage51% | 0% | 37% | 8% | 2%
command0% | 19% | 48% | 18% | 13%
benchmark0% | 0% | 99% | 0% | <1%
bench0% | 0% | 100% | 0% | 0%
log0% | 0% | 0% | 40% | 59%
useragent0% | 0% | 0% | 100% | 0%
parallel0% | 0% | 0% | 0% | 100%
orderedwriter0% | 0% | 0% | 0% | 100%
error0% | 0% | 0% | 0% | 100%
progressbar0% | 0% | 0% | 0% | 100%
strutil0% | 0% | 0% | 0% | 100%
ROOT0% | 0% | 0% | 0% | 100%
version0% | 0% | 0% | 0% | 100%
Longest Files (Top 48)
File# lines# units
s3.go
in storage
1151 42
cp.go
in command
921 24
bench.py
in benchmark
467 26
sync.go
in command
453 10
ant_bench.py
in bench
444 17
select.go
in command
365 6
322 18
url.go
in storage/url
320 28
pipe.go
in command
285 8
ls.go
in command
270 7
app.go
in command
253 4
rm.go
in command
231 4
du.go
in command
219 7
fs.go
in storage
207 16
stat.go
in command
201 6
storage.go
in storage
194 19
183 8
run.go
in command
179 8
flag.go
in command
132 17
cat.go
in command
132 3
128 4
log.go
in log
118 14
presign.go
in command
110 3
useragent.go
in useragent
106 3
mb.go
in command
100 3
88 10
stat.go
in log/stat
85 6
context.go
in command
85 3
orderedwriter.go
in orderedwriter
80 2
error.go
in command
77 3
rb.go
in command
74 2
expand.go
in command
72 2
parallel.go
in parallel
64 8
error.go
in error
58 5
progressbar.go
in progressbar
58 13
strutil.go
in strutil
56 6
validation.go
in command
55 4
notifier.go
in storage
51 3
wildcard.go
in command
51 3
mv.go
in command
50 1
33 3
fdlimit_unix.go
in parallel/fdlimit
22 1
main.go
in root
21 1
version.go
in command
17 1
global.go
in parallel
13 3
version.go
in version
13 1
fdlimit_windows.go
in parallel/fdlimit
2 1
__init__.py
in benchmark
1 -
Files With Most Units (Top 47)
File# lines# units
s3.go
in storage
1151 42
url.go
in storage/url
320 28
bench.py
in benchmark
467 26
cp.go
in command
921 24
storage.go
in storage
194 19
322 18
ant_bench.py
in bench
444 17
flag.go
in command
132 17
fs.go
in storage
207 16
log.go
in log
118 14
progressbar.go
in progressbar
58 13
88 10
sync.go
in command
453 10
parallel.go
in parallel
64 8
run.go
in command
179 8
pipe.go
in command
285 8
183 8
ls.go
in command
270 7
du.go
in command
219 7
stat.go
in log/stat
85 6
stat.go
in command
201 6
select.go
in command
365 6
strutil.go
in strutil
56 6
error.go
in error
58 5
validation.go
in command
55 4
128 4
rm.go
in command
231 4
app.go
in command
253 4
global.go
in parallel
13 3
notifier.go
in storage
51 3
presign.go
in command
110 3
33 3
error.go
in command
77 3
wildcard.go
in command
51 3
context.go
in command
85 3
cat.go
in command
132 3
mb.go
in command
100 3
useragent.go
in useragent
106 3
expand.go
in command
72 2
rb.go
in command
74 2
orderedwriter.go
in orderedwriter
80 2
fdlimit_windows.go
in parallel/fdlimit
2 1
fdlimit_unix.go
in parallel/fdlimit
22 1
version.go
in command
17 1
mv.go
in command
50 1
version.go
in version
13 1
main.go
in root
21 1
Files With Long Lines (Top 11)

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

File# lines# units# long lines
cp.go
in command
921 24 14
pipe.go
in command
285 8 8
s3.go
in storage
1151 42 4
sync.go
in command
453 10 4
app.go
in command
253 4 4
select.go
in command
365 6 4
183 8 4
validation.go
in command
55 4 1
wildcard.go
in command
51 3 1
context.go
in command
85 3 1
progressbar.go
in progressbar
58 13 1
Correlations

File Size vs. Commits (all time): 48 points

storage/s3.go x: 115 commits (all time) y: 1151 lines of code storage/token_manager.go x: 5 commits (all time) y: 322 lines of code command/app.go x: 48 commits (all time) y: 253 lines of code command/stat.go x: 4 commits (all time) y: 201 lines of code main.go x: 19 commits (all time) y: 21 lines of code storage/notifier.go x: 1 commits (all time) y: 51 lines of code bench/ant_bench.py x: 3 commits (all time) y: 444 lines of code storage/storage.go x: 55 commits (all time) y: 194 lines of code log/log.go x: 9 commits (all time) y: 118 lines of code log/message.go x: 11 commits (all time) y: 88 lines of code useragent/useragent.go x: 1 commits (all time) y: 106 lines of code command/cp.go x: 58 commits (all time) y: 921 lines of code command/pipe.go x: 9 commits (all time) y: 285 lines of code benchmark/bench.py x: 3 commits (all time) y: 467 lines of code storage/url/url.go x: 26 commits (all time) y: 320 lines of code command/auto_complete.go x: 3 commits (all time) y: 183 lines of code command/bucket_version.go x: 3 commits (all time) y: 128 lines of code command/cat.go x: 17 commits (all time) y: 132 lines of code command/context.go x: 4 commits (all time) y: 85 lines of code command/du.go x: 17 commits (all time) y: 219 lines of code command/error.go x: 8 commits (all time) y: 77 lines of code command/expand.go x: 12 commits (all time) y: 72 lines of code command/flag.go x: 4 commits (all time) y: 132 lines of code command/ls.go x: 23 commits (all time) y: 270 lines of code command/mb.go x: 13 commits (all time) y: 100 lines of code command/mv.go x: 20 commits (all time) y: 50 lines of code command/presign.go x: 3 commits (all time) y: 110 lines of code command/rb.go x: 7 commits (all time) y: 74 lines of code command/rm.go x: 22 commits (all time) y: 231 lines of code command/run.go x: 17 commits (all time) y: 179 lines of code command/select.go x: 17 commits (all time) y: 365 lines of code command/sync.go x: 13 commits (all time) y: 453 lines of code command/sync_strategy.go x: 5 commits (all time) y: 33 lines of code command/validation.go x: 3 commits (all time) y: 55 lines of code command/version.go x: 5 commits (all time) y: 17 lines of code command/wildcard.go x: 2 commits (all time) y: 51 lines of code error/error.go x: 9 commits (all time) y: 58 lines of code log/stat/stat.go x: 3 commits (all time) y: 85 lines of code orderedwriter/orderedwriter.go x: 2 commits (all time) y: 80 lines of code parallel/global.go x: 5 commits (all time) y: 13 lines of code progressbar/progressbar.go x: 2 commits (all time) y: 58 lines of code storage/fs.go x: 29 commits (all time) y: 207 lines of code strutil/strutil.go x: 4 commits (all time) y: 56 lines of code benchmark/__init__.py x: 1 commits (all time) y: 1 lines of code parallel/fdlimit/fdlimit_unix.go x: 2 commits (all time) y: 22 lines of code parallel/fdlimit/fdlimit_windows.go x: 2 commits (all time) y: 2 lines of code parallel/parallel.go x: 4 commits (all time) y: 64 lines of code version/version.go x: 18 commits (all time) y: 13 lines of code
1151.0
lines of code
  min: 1.0
  average: 179.52
  25th percentile: 55.25
  median: 103.0
  75th percentile: 228.0
  max: 1151.0
0 115.0
commits (all time)
min: 1.0 | average: 13.88 | 25th percentile: 3.0 | median: 6.0 | 75th percentile: 17.0 | max: 115.0

File Size vs. Contributors (all time): 48 points

storage/s3.go x: 33 contributors (all time) y: 1151 lines of code storage/token_manager.go x: 3 contributors (all time) y: 322 lines of code command/app.go x: 23 contributors (all time) y: 253 lines of code command/stat.go x: 2 contributors (all time) y: 201 lines of code main.go x: 7 contributors (all time) y: 21 lines of code storage/notifier.go x: 1 contributors (all time) y: 51 lines of code bench/ant_bench.py x: 3 contributors (all time) y: 444 lines of code storage/storage.go x: 19 contributors (all time) y: 194 lines of code log/log.go x: 5 contributors (all time) y: 118 lines of code log/message.go x: 7 contributors (all time) y: 88 lines of code useragent/useragent.go x: 1 contributors (all time) y: 106 lines of code command/cp.go x: 19 contributors (all time) y: 921 lines of code command/pipe.go x: 7 contributors (all time) y: 285 lines of code benchmark/bench.py x: 2 contributors (all time) y: 467 lines of code storage/url/url.go x: 14 contributors (all time) y: 320 lines of code command/auto_complete.go x: 3 contributors (all time) y: 183 lines of code command/bucket_version.go x: 3 contributors (all time) y: 128 lines of code command/cat.go x: 10 contributors (all time) y: 132 lines of code command/context.go x: 4 contributors (all time) y: 85 lines of code command/du.go x: 9 contributors (all time) y: 219 lines of code command/error.go x: 5 contributors (all time) y: 77 lines of code command/expand.go x: 9 contributors (all time) y: 72 lines of code command/flag.go x: 4 contributors (all time) y: 132 lines of code command/ls.go x: 11 contributors (all time) y: 270 lines of code command/mb.go x: 7 contributors (all time) y: 100 lines of code command/mv.go x: 8 contributors (all time) y: 50 lines of code command/presign.go x: 3 contributors (all time) y: 110 lines of code command/rb.go x: 6 contributors (all time) y: 74 lines of code command/rm.go x: 9 contributors (all time) y: 231 lines of code command/run.go x: 9 contributors (all time) y: 179 lines of code command/select.go x: 10 contributors (all time) y: 365 lines of code command/sync.go x: 9 contributors (all time) y: 453 lines of code command/sync_strategy.go x: 5 contributors (all time) y: 33 lines of code command/validation.go x: 3 contributors (all time) y: 55 lines of code command/version.go x: 3 contributors (all time) y: 17 lines of code command/wildcard.go x: 2 contributors (all time) y: 51 lines of code error/error.go x: 5 contributors (all time) y: 58 lines of code log/stat/stat.go x: 3 contributors (all time) y: 85 lines of code orderedwriter/orderedwriter.go x: 2 contributors (all time) y: 80 lines of code parallel/global.go x: 4 contributors (all time) y: 13 lines of code progressbar/progressbar.go x: 2 contributors (all time) y: 58 lines of code storage/fs.go x: 10 contributors (all time) y: 207 lines of code benchmark/__init__.py x: 1 contributors (all time) y: 1 lines of code parallel/fdlimit/fdlimit_unix.go x: 2 contributors (all time) y: 22 lines of code parallel/fdlimit/fdlimit_windows.go x: 2 contributors (all time) y: 2 lines of code parallel/parallel.go x: 3 contributors (all time) y: 64 lines of code version/version.go x: 3 contributors (all time) y: 13 lines of code
1151.0
lines of code
  min: 1.0
  average: 179.52
  25th percentile: 55.25
  median: 103.0
  75th percentile: 228.0
  max: 1151.0
0 33.0
contributors (all time)
min: 1.0 | average: 6.63 | 25th percentile: 3.0 | median: 4.5 | 75th percentile: 9.0 | max: 33.0

File Size vs. Commits (30 days): 0 points

No data for "commits (30d)" vs. "lines of code".

File Size vs. Contributors (30 days): 0 points

No data for "contributors (30d)" vs. "lines of code".


File Size vs. Commits (90 days): 5 points

storage/s3.go x: 2 commits (90d) y: 1151 lines of code storage/token_manager.go x: 2 commits (90d) y: 322 lines of code command/app.go x: 3 commits (90d) y: 253 lines of code command/stat.go x: 4 commits (90d) y: 201 lines of code main.go x: 2 commits (90d) y: 21 lines of code
1151.0
lines of code
  min: 21.0
  average: 389.6
  25th percentile: 111.0
  median: 253.0
  75th percentile: 736.5
  max: 1151.0
0 4.0
commits (90d)
min: 2.0 | average: 2.6 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 3.5 | max: 4.0

File Size vs. Contributors (90 days): 5 points

storage/s3.go x: 2 contributors (90d) y: 1151 lines of code storage/token_manager.go x: 2 contributors (90d) y: 322 lines of code command/app.go x: 2 contributors (90d) y: 253 lines of code command/stat.go x: 2 contributors (90d) y: 201 lines of code main.go x: 2 contributors (90d) y: 21 lines of code
1151.0
lines of code
  min: 21.0
  average: 389.6
  25th percentile: 111.0
  median: 253.0
  75th percentile: 736.5
  max: 1151.0
0 2.0
contributors (90d)
min: 2.0 | average: 2.0 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 2.0