1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-25 15:29:32 -05:00
denoland-deno/tools/hash_benchmark.py

49 lines
1 KiB
Python

#!/usr/bin/env python
# Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
# Performs benchmark on hash algorithms
import os
import sys
import time
import subprocess
algorithms = [
"md5",
"sha1",
"sha224",
"sha256",
"sha512",
"sha3-224",
"sha3-256",
"sha3-384",
"sha3-512",
]
def run_benchmark(deno_exe, method, input_file):
# compile
subprocess.call([deno_exe, "run", "cli/tests/hash.ts"])
for alg in algorithms:
args = [
deno_exe, "run", "--allow-read", "cli/tests/hash.ts", method, alg,
input_file
]
p = subprocess.Popen(args, stdout=subprocess.PIPE)
(out, _) = p.communicate()
elapsed = out.split(':')[1].strip()
print("[{}] {}".format(alg, elapsed))
def main():
if len(sys.argv) < 4:
print("Usage ./tools/hash_benchmark.py path/to/deno method input")
sys.exit(1)
run_benchmark(sys.argv[1], sys.argv[2], sys.argv[3])
if __name__ == '__main__':
main()