diff options
Diffstat (limited to 'test/dirsize_benchmark.py')
-rw-r--r-- | test/dirsize_benchmark.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/test/dirsize_benchmark.py b/test/dirsize_benchmark.py new file mode 100644 index 00000000..38f0bfd7 --- /dev/null +++ b/test/dirsize_benchmark.py @@ -0,0 +1,26 @@ +import os, time +class Dirsize(): + def a(path): + return len(os.listdir(path)) + + def b(path): + for _, dirs, files in os.walk(path): + return len(files) + len(dirs) + + def c(path): + first = next(os.walk(path)) + return len(first[1]) + len(first[2]) + +paths = { + '/usr/lib': None, + '/usr/bin': None, + '/home/hut': None +} + +for key in paths.keys(): + paths[key] = Dirsize.a(key) # assume Dirsize.a() returns a correct result + for algo in ['a', 'b', 'c']: + t = time.time() + for i in range(4): + assert Dirsize.__dict__[algo](key) == paths[key] + print("algorithm %s: %20s: %f" % (algo, key, time.time() - t)) |