From 65d3775a04b2bb04919b21ea6fbe2687b0345d00 Mon Sep 17 00:00:00 2001 From: extio-de Date: Mon, 22 Dec 2025 15:21:12 +0100 Subject: [PATCH] Add performance test for FastRandomUUID generation compared to UUID.randomUUID --- .../game_engine/util/FastRandomUUIDTest.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/test/java/de/extio/game_engine/util/FastRandomUUIDTest.java diff --git a/src/test/java/de/extio/game_engine/util/FastRandomUUIDTest.java b/src/test/java/de/extio/game_engine/util/FastRandomUUIDTest.java new file mode 100644 index 0000000..dea687b --- /dev/null +++ b/src/test/java/de/extio/game_engine/util/FastRandomUUIDTest.java @@ -0,0 +1,34 @@ +package de.extio.game_engine.util; + +import java.util.UUID; + +import org.junit.jupiter.api.Test; + +public class FastRandomUUIDTest { + + @Test + void testPerformance() { + final int iterations = 10_000_000; + + long start = System.nanoTime(); + for (int i = 0; i < iterations; i++) { + FastRandomUUID.create(); + } + final long fastRandomUuidDuration = System.nanoTime() - start; + + start = System.nanoTime(); + for (int i = 0; i < iterations; i++) { + UUID.randomUUID(); + } + final long systemRandomUuidDuration = System.nanoTime() - start; + + System.out.println("=== UUID Generation Performance ==="); + System.out.printf("FastRandomUUID.create(): %,d ns for %,d UUIDs (%.2f ns/UUID)%n", + fastRandomUuidDuration, iterations, (double) fastRandomUuidDuration / iterations); + System.out.printf("UUID.randomUUID(): %,d ns for %,d UUIDs (%.2f ns/UUID)%n", + systemRandomUuidDuration, iterations, (double) systemRandomUuidDuration / iterations); + System.out.printf("Speedup: %.2fx faster%n", + (double) systemRandomUuidDuration / fastRandomUuidDuration); + } + +}