From 0dcf71c0ea9687c076cbe8dc82fced8b88f983d7 Mon Sep 17 00:00:00 2001 From: asmhatre Date: Sun, 26 Jul 2026 11:46:39 +0000 Subject: [PATCH] Add entry point for the timing experiments --- .../main/java/com/ankurm/vectorapi/Main.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 timings/src/main/java/com/ankurm/vectorapi/Main.java diff --git a/timings/src/main/java/com/ankurm/vectorapi/Main.java b/timings/src/main/java/com/ankurm/vectorapi/Main.java new file mode 100644 index 0000000..add61ff --- /dev/null +++ b/timings/src/main/java/com/ankurm/vectorapi/Main.java @@ -0,0 +1,25 @@ +package com.ankurm.vectorapi; + +/** + * Runs every timing experiment quoted in the article, on whatever machine you + * are sitting at. These are exploratory timings, not statistically rigorous + * benchmarks -- see the jmh/ module for the harness you would defend numbers with. + * + * javac --add-modules jdk.incubator.vector -d out $(find src -name '*.java') + * java --add-modules jdk.incubator.vector -cp out com.ankurm.vectorapi.Main + * java --add-modules jdk.incubator.vector -XX:-UseSuperWord -cp out com.ankurm.vectorapi.Main + */ +public final class Main { + public static void main(String[] args) { + int n = args.length > 0 ? Integer.parseInt(args[0]) : 8192; + Env.print(); + System.out.println("array length : " + n + " floats (" + (n * 4 / 1024) + " KiB, cache-resident)"); + System.out.println(); + SquareAdd.run(n); + MaskedFilter.run(n); + Brightness.run(n); + ReductionOrder.run(); + } + + private Main() {} +}