Raspberry Pi: Jave UUID perfomance Vergleich Raspberry Pi mit iMac

Wie lange braucht ein Raspberry Pi, im Vergleich zu anderen Rechner, um 100000 UUIDs zu erzeugen und auf der Konsole auszugeben mit einem Test ob doppelte generiert werden. So was ähnliches hatte ich vor 2 Jahren schon mal geschrieben.
Raspberry Pi: Jave UUID perfomance Vergleich Raspberry Pi mit iMac

Die generierten UUIDs oder Teile davon kann man auch als Passwort verwenden 😉

Hier das kleine Java Programm:

package de.wenzlaff;

import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

/**
 * UUID Test.
 * 
 * @author Thomas Wenzlaff
 *
 */
public final class TestUuid {

	/**
	 * Test.
	 * 
	 * @param args Anzahl der durchläufe
	 */
	public static void main(String[] args) {
		TestUuid zeitTest = new TestUuid();

		int anzahl = Integer.parseInt(args[0]);
		System.out.println("Start UUID Test mit " + anzahl + " durchläufen ...");

		Clock myclock = Clock.systemDefaultZone();
		Instant startZeitpunkt = myclock.instant();
		System.out.println("Startzeitpunkt: " + startZeitpunkt);

		zeitTest.runUUIDTest(anzahl);

		Instant endeZeitpunkt = Instant.now();
		System.out.println("Endzeitpunkt: " + endeZeitpunkt);

		Duration dauer = Duration.between(startZeitpunkt, endeZeitpunkt);
		System.out.println("Dauer des Testlaufs mit " + anzahl + " durchläufen: " + dauer);
		System.out.println("UUID Test beendet.");
	}

	private void runUUIDTest(int max) {
		List<String> randomUUIDs = new ArrayList<>();

		for (int i = 0; i < max; i++) {
			String id = UUID.randomUUID().toString();
			if (randomUUIDs.contains(id)) {
				System.err.println("Doppelte ID " + id + " generiert!");
				return;
			}
			randomUUIDs.add(id);
			System.out.println(id);
		}
	}
}

Wer das Programm nicht kompilieren will, kann das Archiv laden und auspacken.

Dann starten wir es mit Java 8 im Homeverzeichnis (nicht im de/wenzlaff Verzeichnis):

java de.wenzlaff.TestUuid 100000

schon werden 100000 UUIDs auf der Konsole ausgegeben.

Ein iMac braucht dafür 54,7 Sekunden:

Dauer des Testlaufs mit 100000 durchläufen: PT54.711S

Ein Raspberry Pi Zero:

Der Pi Zero braucht dafür 36 Minuten ist damit aber schon zu 100% ausgelastet:

Dauer des Testlaufs mit 100000 durchläufen: PT36M47.574S

Raspberry Pi: Jave UUID perfomance Vergleich Raspberry Pi mit iMac

und noch mal ein 2. Lauf:

Dauer des Testlaufs mit 100000 durchläufen: PT36M17.237S

ok, es bleibt bei 36 Minuten.

Aber auch er hat es geschaft, wenn auch 36 Mal länger 😉

Schreibt mir doch Eure Werte, die werde ich dann hier ergänzen.

Ähnliche Artikel:

  1. JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden?
  2. Raspberry Pi: Der Kaffee (кофе) ist fertig
  3. Java Thread – 6 State oder wie starten wir ein einfaches Java Programm auf dem Raspberry Pi

wallpaper-1019588
POW & Bahn zum Berg präsentieren Öffi-Touren-Führer für Oberösterreich
wallpaper-1019588
Yaiba: Neue Anime-Adaption angekündigt
wallpaper-1019588
Hell Mode: Deutsche Leseprobe zum Manga veröffentlicht
wallpaper-1019588
“Digimon”-Produzentin Eri Shimomura zu Gast auf der AnimagiC