Skip to content
Snippets Groups Projects
diff-result 1.23 KiB
#!/usr/bin/env python3
#
# Small tool to manipulaote
import argparse
import os
import sys

poulpe_root = os.path.dirname(os.path.dirname(sys.argv[0]))
sys.path.insert(0, os.path.join(poulpe_root, 'python-libs'))

import poulpe_helper as poulpe


def compare(old_path, new_path):
    old = poulpe.get_data(old_path)
    assert old is not None
    new = poulpe.get_data(new_path)
    assert new is not None

    old_median = old['result']['time']['median']
    new_median = new['result']['time']['median']

    diff = new_median - old_median
    ratio = new_median / old_median

    print(f"{old_median:.4f} -> {new_median:.4f}: {diff:.4f} ({ratio:.2f})")

    return 0


def _parsers():
    cmd_parser = argparse.ArgumentParser(prog='poulpe-bin-env-util')

    cmd_parser.add_argument(
        'OLD_RESULT',
        help="the path to the binary environment directory",
    )
    cmd_parser.add_argument(
        'NEW_RESULT',
        help="the path to the data environment directory",
    )
    return cmd_parser


def main(args):
    parser = _parsers()
    param = parser.parse_args(args)
    ret = compare(param.OLD_RESULT, param.NEW_RESULT)
    return ret


if __name__ == "__main__":
    ret = main(sys.argv[1:])
    assert ret is not None
    sys.exit(ret)