From 6fd336eda6d012136b79ee4f1c37463d43822b96 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 1 Dec 2021 08:01:56 +0200 Subject: perf: add benchmark script for the "many empty files" scenario This isn't great code, but it works, which is enough for now. Sponsored-by: author --- manyfiles.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 manyfiles.py (limited to 'manyfiles.py') diff --git a/manyfiles.py b/manyfiles.py new file mode 100644 index 0000000..a45d3cd --- /dev/null +++ b/manyfiles.py @@ -0,0 +1,39 @@ +#!/usr/bin/python3 +# +# Create the desired number of empty files in a directory. A thousand files per +# subdirectory. + +import os +import sys + + +def subdir(dirname, dirno): + pathname = os.path.join(dirname, str(dirno)) + os.mkdir(pathname) + return pathname + + +def create(filename): + open(filename, "w").close() + + +DIRFILES = 1000 + +dirname = sys.argv[1] +n = int(sys.argv[2]) + +dirno = 0 +subdirpath = subdir(dirname, dirno) +fileno = 0 +thisdir = 0 + +while fileno < n: + filename = os.path.join(subdirpath, str(thisdir)) + create(filename) + + fileno += 1 + thisdir += 1 + if thisdir >= DIRFILES: + dirno += 1 + subdirpath = subdir(dirname, dirno) + thisdir = 0 -- cgit v1.2.1