diff options
author | Yann Herklotz <git@yannherklotz.com> | 2019-05-30 16:00:57 +0100 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2019-05-30 16:24:46 +0100 |
commit | a52240fe4f9a160f3fcd65217b7f7307fa13e820 (patch) | |
tree | d07713e8eb3c62550ebbf5ddd94f7504ba5f0e86 /scripts/size.py | |
parent | 850877011c58199f40ba26c47a071d06f8816b89 (diff) | |
download | verismith-a52240fe4f9a160f3fcd65217b7f7307fa13e820.tar.gz verismith-a52240fe4f9a160f3fcd65217b7f7307fa13e820.zip |
Add conversion script
Diffstat (limited to 'scripts/size.py')
-rwxr-xr-x | scripts/size.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/scripts/size.py b/scripts/size.py new file mode 100755 index 0000000..d6d7466 --- /dev/null +++ b/scripts/size.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 + +import subprocess +import statistics +import argparse +import os + +def file_len(fname): + with open(fname) as f: + for i, l in enumerate(f): + pass + return i + 1 + +def main(c, n): + l = [] + for x in range(0, n): + subprocess.call(["verifuzz", "generate", "-o", "main.v", "-c", c]) + l.append(file_len("main.v")) + os.remove("main.v") + print("mean: ", statistics.mean(l)) + print("median: ", statistics.median(l)) + print("stdev: ", statistics.stdev(l)) + print("variance: ", statistics.variance(l)) + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Check the average size of a generated program.') + parser.add_argument('config', metavar='CONFIG', help='The config file to test.') + parser.add_argument('-n', '--num', help='How many iterations to run.', default=10, type=int) + args = parser.parse_args() + main(args.config, args.num) |