Improve UUID benchmarking.
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 30 Aug 2020 12:24:52 +0000 (14:24 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 30 Aug 2020 12:24:52 +0000 (14:24 +0200)
org.argeo.util/src/org/argeo/util/UuidUtils.java

index 54e6b2cb363a6004c16812dbd82e6c26d770f9bb..788d6b9b883f01d52954ee82788d219d4461c09d 100644 (file)
@@ -240,24 +240,38 @@ public class UuidUtils {
        public final static void main(String[] args) {
                UUID uuid;
 
-//             uuid= compactToUuid("996b1f5122de4b2f94e49168d32f22d1");
-//             System.out.println(uuid.toString() + ", isRandom=" + isRandom(uuid));
-
+               uuid= compactToUuid("996b1f5122de4b2f94e49168d32f22d1");
+               System.out.println(uuid.toString() + ", isRandom=" + isRandom(uuid));
+
+               // warm up
+               UUID.randomUUID();
+               timeBasedRandomUUID();
+               timeBasedUUID();
+               UUID.randomUUID();
+               timeBasedRandomUUID();
+               timeBasedUUID();
+               UUID.randomUUID();
+               timeBasedRandomUUID();
+               timeBasedUUID();
+               
                long begin;
                long duration;
+               
                begin = System.nanoTime();
                uuid = UUID.randomUUID();
                duration = System.nanoTime() - begin;
                System.out.println(uuid.toString() + " in " + duration + " ns, isRandom=" + isRandom(uuid));
+               
                begin = System.nanoTime();
-               uuid = timeBasedRandomUUID();
+               uuid = timeBasedUUID();
                duration = System.nanoTime() - begin;
                System.out.println(uuid.toString() + " in " + duration + " ns, isTimeBasedRandom=" + isTimeBasedRandom(uuid));
-//             System.out.println(toBinaryString(uuid, 8, ' '));
-//             System.out.println(toBinaryString(uuid, 16, '\n'));
+               
                begin = System.nanoTime();
-               uuid = timeBasedUUID();
+               uuid = timeBasedRandomUUID();
                duration = System.nanoTime() - begin;
                System.out.println(uuid.toString() + " in " + duration + " ns, isTimeBasedRandom=" + isTimeBasedRandom(uuid));
+//             System.out.println(toBinaryString(uuid, 8, ' '));
+//             System.out.println(toBinaryString(uuid, 16, '\n'));
        }
 }