Skip to content

Instantly share code, notes, and snippets.

@natecraddock
Last active May 11, 2021 17:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save natecraddock/c983f0313341f76f39a8dd033a838f6e to your computer and use it in GitHub Desktop.
Save natecraddock/c983f0313341f76f39a8dd033a838f6e to your computer and use it in GitHub Desktop.
A script to run file name statistics on project directories
"""Run in a directory containing multiple project directories
Or give a single path to analyze as an argument to the script.
"""
import math
import os
import sys
from dataclasses import dataclass
def walkdir(path, ignore=[], ignoreexts=[]):
def should_ignore(path: str) -> bool:
for i in ignore:
if i in path:
return True
return False
for path, _, files in os.walk(path):
if should_ignore(path): continue
for f in files:
if f in ignore: continue
if should_ignore(f): continue
if os.path.splitext(f)[1] in ignoreexts: continue
yield os.path.join(path, f)[2:]
def are_pairs_different(a, b) -> bool:
_, a_ext = os.path.splitext(a)
_, b_ext = os.path.splitext(b)
return a_ext != b_ext
@dataclass
class Stats:
name: str
num_files: int = 0
num_unique_name: int = 0
num_nonunique_name: int = 0
num_pairs: int = 0
percent_unique: float = 0
percent_nonunique: float = 0
percent_pairs: float = 0
def calc(self):
self.percent_unique = (self.num_unique_name / self.num_files) * 100
self.percent_nonunique = (self.num_nonunique_name / self.num_files) * 100
self.percent_pairs = (self.num_pairs / self.num_files) * 100
def __repr__(self) -> str:
stat_str = f"\n== {self.name} Stats ==\n\n"
stat_str += f"Num Files: {self.num_files}\n"
stat_str += f"Num Unique Files: {self.num_unique_name}\n"
stat_str += f"Num Non-unique Files: {self.num_nonunique_name}\n"
stat_str += f"Percent Unique: {self.percent_unique:0.2f}%\n"
stat_str += f"Percent Non-unique: {self.percent_nonunique:0.2f}%\n"
stat_str += f"Percent Pairs (differ in extension): {self.percent_pairs:0.2f}%\n\n"
stat_str += f"Percent considered unique: {self.percent_unique + self.percent_pairs:0.2f}%\n"
return stat_str
def run_stats(name: str, verbose=False) -> Stats:
stats = Stats(name)
# Store a mapping of names (no path or extension) to paths
# that end in that name
paths = {}
for path in walkdir(name, [".git", "__pycache__", "node_modules"],
[".png", ".jpg", ".webp", ".ico", ".pdf", ".mp4", ".gz",
".gif", ".mp3", ".heic", ".woff2", ".webm", ".bmp", ".tar", ".zip"]):
name = os.path.splitext(os.path.basename(path))[0]
if name in paths:
paths[name].append(path)
else:
paths[name] = [path]
stats.num_files += 1
for name in paths:
if len(paths[name]) == 1:
stats.num_unique_name += 1
else:
if verbose:
print(name)
stats.num_nonunique_name += len(paths[name])
if len(paths[name]) == 2 and are_pairs_different(paths[name][0], paths[name][1]):
stats.num_pairs += 2
elif verbose:
for n in paths[name]:
print(f"\t{n}")
stats.calc()
print(stats)
return stats
# Only run for one project if given an argument
if len(sys.argv) == 2:
project = sys.argv[1]
if not os.path.exists(project):
print(f"Path '{project}' does not exist")
sys.exit(1)
run_stats(project, verbose=True)
sys.exit(0)
projects = os.listdir(".")
projects.sort()
all_stats = []
for project in projects:
all_stats.append(run_stats(project))
num_projects = len(projects)
print("\n== Results ==\n")
print(f"Avg Files: {sum([p.num_files for p in all_stats]) / num_projects:0.2f}")
print(f"Avg % Unique Files: {sum([p.percent_unique for p in all_stats]) / num_projects:0.2f}%")
print(f"Avg % Non-unique Files: {sum([p.percent_nonunique for p in all_stats]) / num_projects:0.2f}%")
print(f"Avg % Unique Pairs: {sum([p.percent_pairs for p in all_stats]) / num_projects:0.2f}%")
print(f"Avg % Considered Unique: {sum([p.percent_pairs + p.percent_unique for p in all_stats]) / num_projects:0.2f}%\n")
print(f"Min % Considered Unique: {min([p.percent_pairs + p.percent_unique for p in all_stats]):0.2f}%")
print(f"Max % Considered Unique: {max([p.percent_pairs + p.percent_unique for p in all_stats]):0.2f}%\n")
# Histogram
buckets = 20
hist = [0] * buckets
for stat in all_stats:
unique = (stat.percent_pairs + stat.percent_unique) / 100.0
bucket = min(math.floor(unique * buckets), buckets - 1)
hist[bucket] += 1
height = max(hist)
while height:
for col in range(buckets):
if hist[col] >= height:
print("x", end="")
else:
print(" ", end="")
print()
height -= 1
print("-" * buckets)
print(hist)
== Cinnamon Stats ==
Num Files: 818
Num Unique Files: 448
Num Non-unique Files: 370
Percent Unique: 54.77%
Percent Non-unique: 45.23%
Percent Pairs (differ in extension): 22.74%
Percent considered unique: 77.51%
== blender Stats ==
Num Files: 12422
Num Unique Files: 7770
Num Non-unique Files: 4652
Percent Unique: 62.55%
Percent Non-unique: 37.45%
Percent Pairs (differ in extension): 28.66%
Percent considered unique: 91.21%
== chromium Stats ==
Num Files: 315713
Num Unique Files: 164165
Num Non-unique Files: 151548
Percent Unique: 52.00%
Percent Non-unique: 48.00%
Percent Pairs (differ in extension): 22.81%
Percent considered unique: 74.80%
== deno Stats ==
Num Files: 1423
Num Unique Files: 1115
Num Non-unique Files: 308
Percent Unique: 78.36%
Percent Non-unique: 21.64%
Percent Pairs (differ in extension): 8.43%
Percent considered unique: 86.79%
== discourse Stats ==
Num Files: 8124
Num Unique Files: 5351
Num Non-unique Files: 2773
Percent Unique: 65.87%
Percent Non-unique: 34.13%
Percent Pairs (differ in extension): 9.55%
Percent considered unique: 75.42%
== elasticsearch Stats ==
Num Files: 21267
Num Unique Files: 16708
Num Non-unique Files: 4559
Percent Unique: 78.56%
Percent Non-unique: 21.44%
Percent Pairs (differ in extension): 1.21%
Percent considered unique: 79.78%
== emacs Stats ==
Num Files: 4242
Num Unique Files: 2585
Num Non-unique Files: 1657
Percent Unique: 60.94%
Percent Non-unique: 39.06%
Percent Pairs (differ in extension): 16.31%
Percent considered unique: 77.25%
== fd Stats ==
Num Files: 38
Num Unique Files: 31
Num Non-unique Files: 7
Percent Unique: 81.58%
Percent Non-unique: 18.42%
Percent Pairs (differ in extension): 10.53%
Percent considered unique: 92.11%
== fzf Stats ==
Num Files: 85
Num Unique Files: 68
Num Non-unique Files: 17
Percent Unique: 80.00%
Percent Non-unique: 20.00%
Percent Pairs (differ in extension): 9.41%
Percent considered unique: 89.41%
== gecko-dev Stats ==
Num Files: 283350
Num Unique Files: 173871
Num Non-unique Files: 109479
Percent Unique: 61.36%
Percent Non-unique: 38.64%
Percent Pairs (differ in extension): 8.13%
Percent considered unique: 69.49%
== gitui Stats ==
Num Files: 126
Num Unique Files: 68
Num Non-unique Files: 58
Percent Unique: 53.97%
Percent Non-unique: 46.03%
Percent Pairs (differ in extension): 3.17%
Percent considered unique: 57.14%
== httpie Stats ==
Num Files: 88
Num Unique Files: 66
Num Non-unique Files: 22
Percent Unique: 75.00%
Percent Non-unique: 25.00%
Percent Pairs (differ in extension): 4.55%
Percent considered unique: 79.55%
== iTerm2 Stats ==
Num Files: 3340
Num Unique Files: 764
Num Non-unique Files: 2576
Percent Unique: 22.87%
Percent Non-unique: 77.13%
Percent Pairs (differ in extension): 55.45%
Percent considered unique: 78.32%
== ideavim Stats ==
Num Files: 802
Num Unique Files: 783
Num Non-unique Files: 19
Percent Unique: 97.63%
Percent Non-unique: 2.37%
Percent Pairs (differ in extension): 2.00%
Percent considered unique: 99.63%
== kitty Stats ==
Num Files: 416
Num Unique Files: 217
Num Non-unique Files: 199
Percent Unique: 52.16%
Percent Non-unique: 47.84%
Percent Pairs (differ in extension): 25.00%
Percent considered unique: 77.16%
== linux Stats ==
Num Files: 71915
Num Unique Files: 32692
Num Non-unique Files: 39223
Percent Unique: 45.46%
Percent Non-unique: 54.54%
Percent Pairs (differ in extension): 21.49%
Percent considered unique: 66.95%
== llvm-project Stats ==
Num Files: 103378
Num Unique Files: 61240
Num Non-unique Files: 42138
Percent Unique: 59.24%
Percent Non-unique: 40.76%
Percent Pairs (differ in extension): 12.39%
Percent considered unique: 71.63%
== neovim Stats ==
Num Files: 2750
Num Unique Files: 1528
Num Non-unique Files: 1222
Percent Unique: 55.56%
Percent Non-unique: 44.44%
Percent Pairs (differ in extension): 7.13%
Percent considered unique: 62.69%
== pandoc Stats ==
Num Files: 1773
Num Unique Files: 1097
Num Non-unique Files: 676
Percent Unique: 61.87%
Percent Non-unique: 38.13%
Percent Pairs (differ in extension): 13.42%
Percent considered unique: 75.30%
== pi-hole Stats ==
Num Files: 89
Num Unique Files: 78
Num Non-unique Files: 11
Percent Unique: 87.64%
Percent Non-unique: 12.36%
Percent Pairs (differ in extension): 4.49%
Percent considered unique: 92.13%
== prettier Stats ==
Num Files: 7073
Num Unique Files: 2940
Num Non-unique Files: 4133
Percent Unique: 41.57%
Percent Non-unique: 58.43%
Percent Pairs (differ in extension): 2.57%
Percent considered unique: 44.14%
== rails Stats ==
Num Files: 4234
Num Unique Files: 2534
Num Non-unique Files: 1700
Percent Unique: 59.85%
Percent Non-unique: 40.15%
Percent Pairs (differ in extension): 1.46%
Percent considered unique: 61.31%
== react-native Stats ==
Num Files: 4135
Num Unique Files: 2216
Num Non-unique Files: 1919
Percent Unique: 53.59%
Percent Non-unique: 46.41%
Percent Pairs (differ in extension): 26.99%
Percent considered unique: 80.58%
== rust Stats ==
Num Files: 27855
Num Unique Files: 9094
Num Non-unique Files: 18761
Percent Unique: 32.65%
Percent Non-unique: 67.35%
Percent Pairs (differ in extension): 42.86%
Percent considered unique: 75.51%
== starship Stats ==
Num Files: 327
Num Unique Files: 38
Num Non-unique Files: 289
Percent Unique: 11.62%
Percent Non-unique: 88.38%
Percent Pairs (differ in extension): 0.61%
Percent considered unique: 12.23%
== terminal Stats ==
Num Files: 2405
Num Unique Files: 1096
Num Non-unique Files: 1309
Percent Unique: 45.57%
Percent Non-unique: 54.43%
Percent Pairs (differ in extension): 19.13%
Percent considered unique: 64.70%
== three.js Stats ==
Num Files: 2958
Num Unique Files: 1333
Num Non-unique Files: 1625
Percent Unique: 45.06%
Percent Non-unique: 54.94%
Percent Pairs (differ in extension): 1.62%
Percent considered unique: 46.69%
== vscode Stats ==
Num Files: 4944
Num Unique Files: 2804
Num Non-unique Files: 2140
Percent Unique: 56.72%
Percent Non-unique: 43.28%
Percent Pairs (differ in extension): 8.05%
Percent considered unique: 64.77%
== youtube-dl Stats ==
Num Files: 930
Num Unique Files: 908
Num Non-unique Files: 22
Percent Unique: 97.63%
Percent Non-unique: 2.37%
Percent Pairs (differ in extension): 1.29%
Percent considered unique: 98.92%
== zygrader Stats ==
Num Files: 41
Num Unique Files: 35
Num Non-unique Files: 6
Percent Unique: 85.37%
Percent Non-unique: 14.63%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 85.37%
== Results ==
Avg Files: 29568.70
Avg % Unique Files: 60.57%
Avg % Non-unique Files: 39.43%
Avg % Unique Pairs: 13.05%
Avg % Considered Unique: 73.62%
Min % Considered Unique: 12.23%
Max % Considered Unique: 99.63%
x
x
x
x
x
x x
x x xx
xxxx xxx
x xx xxxxxxxxx
--------------------
[0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 4, 2, 2, 9, 1, 3, 3, 2]
== AliSQL Stats ==
Num Files: 21123
Num Unique Files: 5003
Num Non-unique Files: 16120
Percent Unique: 23.69%
Percent Non-unique: 76.31%
Percent Pairs (differ in extension): 40.46%
Percent considered unique: 64.14%
== DACircularProgress Stats ==
Num Files: 20
Num Unique Files: 11
Num Non-unique Files: 9
Percent Unique: 55.00%
Percent Non-unique: 45.00%
Percent Pairs (differ in extension): 30.00%
Percent considered unique: 85.00%
== DeleteFB Stats ==
Num Files: 28
Num Unique Files: 26
Num Non-unique Files: 2
Percent Unique: 92.86%
Percent Non-unique: 7.14%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 92.86%
== FlowType.JS Stats ==
Num Files: 4
Num Unique Files: 4
Num Non-unique Files: 0
Percent Unique: 100.00%
Percent Non-unique: 0.00%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 100.00%
== RxJava Stats ==
Num Files: 1931
Num Unique Files: 1884
Num Non-unique Files: 47
Percent Unique: 97.57%
Percent Non-unique: 2.43%
Percent Pairs (differ in extension): 0.52%
Percent considered unique: 98.08%
== SDAutoLayout Stats ==
Num Files: 500
Num Unique Files: 61
Num Non-unique Files: 439
Percent Unique: 12.20%
Percent Non-unique: 87.80%
Percent Pairs (differ in extension): 57.20%
Percent considered unique: 69.40%
== SUI-Mobile Stats ==
Num Files: 262
Num Unique Files: 110
Num Non-unique Files: 152
Percent Unique: 41.98%
Percent Non-unique: 58.02%
Percent Pairs (differ in extension): 10.69%
Percent considered unique: 52.67%
== WeiXinRecordedDemo Stats ==
Num Files: 98
Num Unique Files: 83
Num Non-unique Files: 15
Percent Unique: 84.69%
Percent Non-unique: 15.31%
Percent Pairs (differ in extension): 6.12%
Percent considered unique: 90.82%
== amazeui Stats ==
Num Files: 603
Num Unique Files: 184
Num Non-unique Files: 419
Percent Unique: 30.51%
Percent Non-unique: 69.49%
Percent Pairs (differ in extension): 5.64%
Percent considered unique: 36.15%
== android-showcase Stats ==
Num Files: 153
Num Unique Files: 117
Num Non-unique Files: 36
Percent Unique: 76.47%
Percent Non-unique: 23.53%
Percent Pairs (differ in extension): 2.61%
Percent considered unique: 79.08%
== aquatone Stats ==
Num Files: 32
Num Unique Files: 30
Num Non-unique Files: 2
Percent Unique: 93.75%
Percent Non-unique: 6.25%
Percent Pairs (differ in extension): 6.25%
Percent considered unique: 100.00%
== azuredatastudio Stats ==
Num Files: 13460
Num Unique Files: 4286
Num Non-unique Files: 9174
Percent Unique: 31.84%
Percent Non-unique: 68.16%
Percent Pairs (differ in extension): 3.98%
Percent considered unique: 35.82%
== calibre-web Stats ==
Num Files: 640
Num Unique Files: 389
Num Non-unique Files: 251
Percent Unique: 60.78%
Percent Non-unique: 39.22%
Percent Pairs (differ in extension): 5.31%
Percent considered unique: 66.09%
== charisma Stats ==
Num Files: 1047
Num Unique Files: 424
Num Non-unique Files: 623
Percent Unique: 40.50%
Percent Non-unique: 59.50%
Percent Pairs (differ in extension): 5.54%
Percent considered unique: 46.04%
== crawler4j Stats ==
Num Files: 124
Num Unique Files: 108
Num Non-unique Files: 16
Percent Unique: 87.10%
Percent Non-unique: 12.90%
Percent Pairs (differ in extension): 3.23%
Percent considered unique: 90.32%
== cvat Stats ==
Num Files: 903
Num Unique Files: 566
Num Non-unique Files: 337
Percent Unique: 62.68%
Percent Non-unique: 37.32%
Percent Pairs (differ in extension): 2.44%
Percent considered unique: 65.12%
== django-webpack-loader Stats ==
Num Files: 102
Num Unique Files: 35
Num Non-unique Files: 67
Percent Unique: 34.31%
Percent Non-unique: 65.69%
Percent Pairs (differ in extension): 5.88%
Percent considered unique: 40.20%
== dotenv Stats ==
Num Files: 41
Num Unique Files: 32
Num Non-unique Files: 9
Percent Unique: 78.05%
Percent Non-unique: 21.95%
Percent Pairs (differ in extension): 4.88%
Percent considered unique: 82.93%
== droptogif Stats ==
Num Files: 54
Num Unique Files: 40
Num Non-unique Files: 14
Percent Unique: 74.07%
Percent Non-unique: 25.93%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 74.07%
== filepizza Stats ==
Num Files: 47
Num Unique Files: 45
Num Non-unique Files: 2
Percent Unique: 95.74%
Percent Non-unique: 4.26%
Percent Pairs (differ in extension): 4.26%
Percent considered unique: 100.00%
== govalidator Stats ==
Num Files: 31
Num Unique Files: 31
Num Non-unique Files: 0
Percent Unique: 100.00%
Percent Non-unique: 0.00%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 100.00%
== goworker Stats ==
Num Files: 26
Num Unique Files: 24
Num Non-unique Files: 2
Percent Unique: 92.31%
Percent Non-unique: 7.69%
Percent Pairs (differ in extension): 7.69%
Percent considered unique: 100.00%
== hacker-news-pwas Stats ==
Num Files: 132
Num Unique Files: 111
Num Non-unique Files: 21
Percent Unique: 84.09%
Percent Non-unique: 15.91%
Percent Pairs (differ in extension): 1.52%
Percent considered unique: 85.61%
== hugo Stats ==
Num Files: 28
Num Unique Files: 15
Num Non-unique Files: 13
Percent Unique: 53.57%
Percent Non-unique: 46.43%
Percent Pairs (differ in extension): 14.29%
Percent considered unique: 67.86%
== hygen Stats ==
Num Files: 275
Num Unique Files: 108
Num Non-unique Files: 167
Percent Unique: 39.27%
Percent Non-unique: 60.73%
Percent Pairs (differ in extension): 2.18%
Percent considered unique: 41.45%
== ink Stats ==
Num Files: 120
Num Unique Files: 82
Num Non-unique Files: 38
Percent Unique: 68.33%
Percent Non-unique: 31.67%
Percent Pairs (differ in extension): 11.67%
Percent considered unique: 80.00%
== johnny-five Stats ==
Num Files: 1094
Num Unique Files: 179
Num Non-unique Files: 915
Percent Unique: 16.36%
Percent Non-unique: 83.64%
Percent Pairs (differ in extension): 34.37%
Percent considered unique: 50.73%
== juniper Stats ==
Num Files: 411
Num Unique Files: 148
Num Non-unique Files: 263
Percent Unique: 36.01%
Percent Non-unique: 63.99%
Percent Pairs (differ in extension): 23.36%
Percent considered unique: 59.37%
== libgdx Stats ==
Num Files: 4253
Num Unique Files: 2367
Num Non-unique Files: 1886
Percent Unique: 55.65%
Percent Non-unique: 44.35%
Percent Pairs (differ in extension): 14.62%
Percent considered unique: 70.28%
== ludwig Stats ==
Num Files: 305
Num Unique Files: 188
Num Non-unique Files: 117
Percent Unique: 61.64%
Percent Non-unique: 38.36%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 61.64%
== macvim Stats ==
Num Files: 2749
Num Unique Files: 1258
Num Non-unique Files: 1491
Percent Unique: 45.76%
Percent Non-unique: 54.24%
Percent Pairs (differ in extension): 18.19%
Percent considered unique: 63.95%
== modern-normalize Stats ==
Num Files: 16
Num Unique Files: 8
Num Non-unique Files: 8
Percent Unique: 50.00%
Percent Non-unique: 50.00%
Percent Pairs (differ in extension): 12.50%
Percent considered unique: 62.50%
== moonscript Stats ==
Num Files: 156
Num Unique Files: 29
Num Non-unique Files: 127
Percent Unique: 18.59%
Percent Non-unique: 81.41%
Percent Pairs (differ in extension): 55.13%
Percent considered unique: 73.72%
== motioneyeos Stats ==
Num Files: 11362
Num Unique Files: 2454
Num Non-unique Files: 8908
Percent Unique: 21.60%
Percent Non-unique: 78.40%
Percent Pairs (differ in extension): 46.82%
Percent considered unique: 68.42%
== mybatis-plus Stats ==
Num Files: 568
Num Unique Files: 449
Num Non-unique Files: 119
Percent Unique: 79.05%
Percent Non-unique: 20.95%
Percent Pairs (differ in extension): 2.11%
Percent considered unique: 81.16%
== openwrt-shadowsocks Stats ==
Num Files: 3
Num Unique Files: 3
Num Non-unique Files: 0
Percent Unique: 100.00%
Percent Non-unique: 0.00%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 100.00%
== page.js Stats ==
Num Files: 58
Num Unique Files: 21
Num Non-unique Files: 37
Percent Unique: 36.21%
Percent Non-unique: 63.79%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 36.21%
== platform_development Stats ==
Num Files: 7156
Num Unique Files: 2839
Num Non-unique Files: 4317
Percent Unique: 39.67%
Percent Non-unique: 60.33%
Percent Pairs (differ in extension): 1.45%
Percent considered unique: 41.13%
== play-games-plugin-for-unity Stats ==
Num Files: 630
Num Unique Files: 547
Num Non-unique Files: 83
Percent Unique: 86.83%
Percent Non-unique: 13.17%
Percent Pairs (differ in extension): 4.13%
Percent considered unique: 90.95%
== postal.js Stats ==
Num Files: 48
Num Unique Files: 31
Num Non-unique Files: 17
Percent Unique: 64.58%
Percent Non-unique: 35.42%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 64.58%
== pretrained-models.pytorch Stats ==
Num Files: 43
Num Unique Files: 34
Num Non-unique Files: 9
Percent Unique: 79.07%
Percent Non-unique: 20.93%
Percent Pairs (differ in extension): 4.65%
Percent considered unique: 83.72%
== react-primitives Stats ==
Num Files: 93
Num Unique Files: 61
Num Non-unique Files: 32
Percent Unique: 65.59%
Percent Non-unique: 34.41%
Percent Pairs (differ in extension): 12.90%
Percent considered unique: 78.49%
== renovate Stats ==
Num Files: 1612
Num Unique Files: 638
Num Non-unique Files: 974
Percent Unique: 39.58%
Percent Non-unique: 60.42%
Percent Pairs (differ in extension): 2.11%
Percent considered unique: 41.69%
== rscss Stats ==
Num Files: 19
Num Unique Files: 17
Num Non-unique Files: 2
Percent Unique: 89.47%
Percent Non-unique: 10.53%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 89.47%
== rstudio Stats ==
Num Files: 5556
Num Unique Files: 3711
Num Non-unique Files: 1845
Percent Unique: 66.79%
Percent Non-unique: 33.21%
Percent Pairs (differ in extension): 21.17%
Percent considered unique: 87.96%
== sclack Stats ==
Num Files: 33
Num Unique Files: 24
Num Non-unique Files: 9
Percent Unique: 72.73%
Percent Non-unique: 27.27%
Percent Pairs (differ in extension): 6.06%
Percent considered unique: 78.79%
== security-checker Stats ==
Num Files: 13
Num Unique Files: 13
Num Non-unique Files: 0
Percent Unique: 100.00%
Percent Non-unique: 0.00%
Percent Pairs (differ in extension): 0.00%
Percent considered unique: 100.00%
== simplify Stats ==
Num Files: 407
Num Unique Files: 342
Num Non-unique Files: 65
Percent Unique: 84.03%
Percent Non-unique: 15.97%
Percent Pairs (differ in extension): 4.42%
Percent considered unique: 88.45%
== snapdrop Stats ==
Num Files: 25
Num Unique Files: 23
Num Non-unique Files: 2
Percent Unique: 92.00%
Percent Non-unique: 8.00%
Percent Pairs (differ in extension): 8.00%
Percent considered unique: 100.00%
== torsniff Stats ==
Num Files: 156
Num Unique Files: 112
Num Non-unique Files: 44
Percent Unique: 71.79%
Percent Non-unique: 28.21%
Percent Pairs (differ in extension): 1.28%
Percent considered unique: 73.08%
== Results ==
Avg Files: 1571.00
Avg % Unique Files: 63.69%
Avg % Non-unique Files: 36.31%
Avg % Unique Pairs: 10.11%
Avg % Considered Unique: 73.80%
Min % Considered Unique: 35.82%
Max % Considered Unique: 100.00%
x
x
x
x
xx x x
x xxx xxxx
xx xxxxxxxx
xx x xxxxxxxx
xxxxxxxxxxxxx
--------------------
[0, 0, 0, 0, 0, 0, 0, 3, 4, 1, 2, 1, 5, 5, 4, 3, 4, 5, 4, 9]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment