diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-04-30 19:36:54 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-04-30 19:36:54 +0200 |
commit | 5d5b627f8104a9f43d3e1536a6b460d98cb4cb60 (patch) | |
tree | 162d51b12df5d2b6332cf8aeb9c0e40e645da0ec | |
parent | 08b8a6d6b483ecf2c5b0b0dcc3c6d706d441936b (diff) |
Report change in table size
-rwxr-xr-x | gen/prop/age | 4 | ||||
-rwxr-xr-x | gen/prop/bool-props | 1 | ||||
-rwxr-xr-x | gen/prop/bool-props.py | 5 | ||||
-rw-r--r-- | gen/prop/lib.py | 13 |
4 files changed, 20 insertions, 3 deletions
diff --git a/gen/prop/age b/gen/prop/age index 7105ae1..a565021 100755 --- a/gen/prop/age +++ b/gen/prop/age @@ -80,7 +80,7 @@ def main() -> None: if bs > len(xs): break Cs = [tuple(x) for x in chunks(xs, bs)] - cs = list(dict.fromkeys(Cs)) + cs = set(Cs) sz_s1 = len(Cs) * isize(len(cs) - 1) sz_s2 = len(cs) * bs * 2 @@ -95,5 +95,7 @@ def main() -> None: sys.stdout = f genfile(Cs, blksize) + report_size(len(xs), smallest) + if __name__ == '__main__': main() diff --git a/gen/prop/bool-props b/gen/prop/bool-props index 0a8330f..198b0b8 100755 --- a/gen/prop/bool-props +++ b/gen/prop/bool-props @@ -81,7 +81,6 @@ gen() local p=${1%%=*} gen/prop/bool-props.py ${1#*=} $p data/$2 \ >lib/unicode/prop/uprop_is_$p.c - printf 'DONE uprop_is_%s()\n' $p >&2 } for prop in $props1; do gen $prop PropList & done diff --git a/gen/prop/bool-props.py b/gen/prop/bool-props.py index c0f9d05..62cfe74 100755 --- a/gen/prop/bool-props.py +++ b/gen/prop/bool-props.py @@ -86,7 +86,7 @@ def main() -> None: if bs > len(xs): break Cs = [tuple(x) for x in chunks(xs, bs)] - cs = list(dict.fromkeys(Cs)) + cs = set(Cs) sz_s1 = len(Cs) * isize(len(cs) - 1) sz_s2 = len(cs) * bs @@ -99,5 +99,8 @@ def main() -> None: Cs = [tuple(x) for x in chunks(xs, blksize)] genfile(Cs, blksize) + sys.argv[0] = sys.argv[2] + report_size(len(xs), smallest) + if __name__ == '__main__': main() diff --git a/gen/prop/lib.py b/gen/prop/lib.py index e71fcf0..cc0b00a 100644 --- a/gen/prop/lib.py +++ b/gen/prop/lib.py @@ -52,3 +52,16 @@ def typename(x: int) -> str: def cwd_init() -> None: dir = Path(os.path.dirname(sys.argv[0])) os.chdir(dir / '..' / '..') + +def report_size(before: int, after: int) -> None: + def btokib(n: int) -> str: + s = str(round(n / 1024, 2)) + if s.endswith('.0'): + s = s[:-2] + return s + ' KiB' + + prefix = sys.argv[0].split('/')[-1] + change = round((after - before) / before * 100, 1) + before = btokib(before) + after = btokib(after) + print(f'%s\t%s%%\t%s → %s' % (prefix, change, before, after), file=sys.stderr) |