From b3ffb45a1d68c7b5ac723c35071b0286c6befee6 Mon Sep 17 00:00:00 2001 From: Benoit Chevallier-Mames Date: Mon, 27 Sep 2021 18:26:06 +0200 Subject: [PATCH] test: add x * 7 in benchmark, compiles refs #471 --- benchmarks/x_times_7.py | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 benchmarks/x_times_7.py diff --git a/benchmarks/x_times_7.py b/benchmarks/x_times_7.py new file mode 100644 index 000000000..1faa58112 --- /dev/null +++ b/benchmarks/x_times_7.py @@ -0,0 +1,43 @@ +# Target: x * 7 + +import random + +import concrete.numpy as hnp + + +def main(): + def function_to_compile(x): + return x * 7 + + x = hnp.EncryptedScalar(hnp.UnsignedInteger(4)) + + # Measure: Compilation Time (ms) + engine = hnp.compile_numpy_function( + function_to_compile, + {"x": x}, + [(i,) for i in range(2 ** 4)], + ) + # Measure: End + + inputs = [] + labels = [] + for _ in range(4): + sample_x = random.randint(0, 2 ** 4 - 1) + + inputs.append([sample_x]) + labels.append(function_to_compile(*inputs[-1])) + + correct = 0 + for input_i, label_i in zip(inputs, labels): + # Measure: Evaluation Time (ms) + result_i = engine.run(*input_i) + # Measure: End + + if result_i == label_i: + correct += 1 + + # Measure: Accuracy (%) = (correct / len(inputs)) * 100 + + +if __name__ == "__main__": + main()