Java-Code messen

Status
Nicht offen für weitere Antworten.
K

kalissow

Gast
Hallo zusammen,

wie Zeit-GENAU kann ich ein Java-Code messen?

Ich habe schon was von System.nanoTime() und System.currentTimeMillis() gehört. Aber wie gut und genau kann ich sie benutzen?

danke voraus
Gruß

kalissow
 
G

Guest

Gast
Code ist zeitlos.

Es mag sein, aber ich will wissen, wie genau ich mein Programm messen kann.

Und wenn du nichts zu sagen hast, brauchst du auch nichts zu schreiben. Lass die anderen ihre Tipps geben.

Gruß
 

AlArenal

Top Contributor
Vielleicht solltest du dich zunächst einmal deutlich ausdrücken.

WAS genau willst du messen?

Mich deucht, du willst nicht deinen Code messen, sondern du willst mit deinem Code irgendwas messen. Nur wenn du dein Anliegen nicht artikuliern kannst, kannst du auch keine passenden Antworten erwarten ;)
 

The_S

Top Contributor
Deine Fragestellung ist auch recht schwammig. Code kann man nicht messen (außer evtl. die größe in Zeilen :roll: ). Du willst vermutlich die Zeit messen die eine Operation benötigt oder? Dafür sollte eigentlich System.currentTimeInMillis genügen. Bzw. wenn die Methode recht schnell ist eben in einer Schleife ein paar mal ausfürhen, um einen richtwert zu bekommen.
 
G

Guest

Gast
Da man Code nicht Messen kann ist seine Frage gar nicht so schwammig :) Den die Code Zeit kann damit ja sicher nicht gemeint sein. Ich habs sogar ohne Nachdenken evtl richtig verstenden.

Was du meinst ist wohl die Zeit messen die ein bestimmter Codeabschnitt für die Ausführung braucht, wie es auch nun die vorposter erahnt haben. Hier ein konkretes Codebeispiel :

Code:
			long timeStampBefore = System.nanoTime();
			/* Zwischen den beiden Zeitstempeln dein Code dann einsetzten. */
			for (int i = 0; i < 10000; i++) {
				//leere Schleife
			}
			long timeStampAfter = System.nanoTime();
			long dauer = timeStampAfter - timeStampBefore;
			// Dauer in Nanosekunden
			System.out.println("Dauer : " + dauer);
 

Wildcard

Top Contributor
Microbenchmarks sind - gelinde gesagt - nicht ganz einfach richtig zu implementieren.
Dafür ist Verständnis über die VM, den Compiler, den JIT und den Hotspot-Compiler von Nöten.
Sinnvoller ist der Einsatz eines Profilers der die Anwendung im tatsächlichen Einsatz untersucht.
Auch hier gilt: Man muss in der Lage sein die richtigen Schlüsse aus blanken Daten zu ziehen.
 
K

kalissow

Gast
Hallo,

Da man Code nicht Messen kann ist seine Frage gar nicht so schwammig. Den die Code Zeit kann damit ja sicher nicht gemeint sein. Ich habs sogar ohne Nachdenken evtl richtig verstenden.

seht ihr?

Jeder der verstehen wolltest, konnte es auch verstehen. Ich hatte sogar was von System.nanoTime() und System.currentTimeMillis() geredet.

Eine Antwort wie dies:
Code:
long timeStampBefore = System.nanoTime();
         /* Zwischen den beiden Zeitstempeln dein Code dann einsetzten. */
         for (int i = 0; i < 10000; i++) {
            //leere Schleife
         }
         long timeStampAfter = System.nanoTime();
         long dauer = timeStampAfter - timeStampBefore;
         // Dauer in Nanosekunden
         System.out.println("Dauer : " + dauer);

habe ich erwartet, nicht irgendwelche unwichtige ausreden.

Danke

Gruß

kalissow
 

Wildcard

Top Contributor
Und wie reagiert dieser Code auf mehrmaliges Aufrufen der Methode?
Was wenn vorher einige der Methoden der Klasse aufgerufen wird?
Wie verändert sich das Laufzeitverhalten von Server zu Client VM?
 

AlArenal

Top Contributor
Klar kann man Code messen. Mittels Code Metrics kann man allerlei Statistiken über den Sourcecode erzeugen...

Aber schon klar, es sind immer nur die anderen dumm...
 

Ark

Top Contributor
Irgendwie habe ich das Gefühl, dass ein Kurs an irgendeiner Schule mit Java programmiert und momentan eben Themen wie Laufzeiteffizienz behandelt. Jedenfalls kam diese Frage nun schon mindestens zum dritten Mal in nicht einmal einer Woche! :shock:

Ark
 
G

Guest

Gast
Wildcard hat gesagt.:
Und wie reagiert dieser Code auf mehrmaliges Aufrufen der Methode?
Was wenn vorher einige der Methoden der Klasse aufgerufen wird?
Wie verändert sich das Laufzeitverhalten von Server zu Client VM?

Selbst das hier ist mit ein wenig Nachdenken auszuschliessen, das diese Punkte ins Gewicht fallen. Denn wenn einem Beitragersteller System.CurrentTimeMillis() nicht geläuft wird, wird er wohl kaum darauf aus sein, eine QualityManagementOptimierung einer Mamutapplication auf einen Enterpriseapplication Server druchzuführen.

Das einzige was man evtl hier vorwerfen kann ist, dass der Beitrag im Bereich Anfänger erstellt werden sollte.
 

Wildcard

Top Contributor
Da mir auch nach mehrmaligem Lesen des Gebildes das du wohl als Satz bezeichnen würdest, dessen Aussage nicht ersichtlich wurde, tu ich es einfach als statisches Rauschen ab :autsch:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
AGW in Java-Code plötzlich ein paar Wörter in Rot Allgemeine Java-Themen 2
T Java-Quiz Code Fehler Allgemeine Java-Themen 10
L Eclipse Java Code ausführen Allgemeine Java-Themen 18
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
S Gibt es eigentlich Java Source Code Interpreter..? Allgemeine Java-Themen 13
I Python Code in Java Code Allgemeine Java-Themen 9
M Java (GUI) Code verdoppeln oder anzeige mehrmals anzeigen? Allgemeine Java-Themen 8
F Verständlichkeitsproblem bei Java Code?! Allgemeine Java-Themen 2
P Java Android Code in IOS compilieren? Allgemeine Java-Themen 9
R Java-Code für folgene Aufgabe? Allgemeine Java-Themen 8
C ASCII-Code in Java Allgemeine Java-Themen 1
J Java-Code in DLL packen Allgemeine Java-Themen 5
B JAVA - mehrere Clienten gleichzeitig starten. Nicht bei Code! Allgemeine Java-Themen 3
J Java code "plugin" fähig machen Allgemeine Java-Themen 4
D Java Compiler code referencen Allgemeine Java-Themen 0
B Fehler im Java-Code Allgemeine Java-Themen 4
A PHP-Code zu Java-Code Allgemeine Java-Themen 5
H Java Leistungssteigerung durch Code Anpassung Allgemeine Java-Themen 5
J Erzeugung von Java-Code Allgemeine Java-Themen 2
N VB Code in Java verwenden Allgemeine Java-Themen 5
L php code in java ausführbar? Allgemeine Java-Themen 6
D Fehler im Java Code Allgemeine Java-Themen 22
Gossi Java Code in einer GUI eingeben und ausführen? Allgemeine Java-Themen 2
P JAVA Code in Dokumentation erklären Allgemeine Java-Themen 2
B Verwendung von Packages im Java Code Allgemeine Java-Themen 10
A Jars oder JNLPs aus java code in gleicher JVM starten Allgemeine Java-Themen 2
S String to Java-Code Allgemeine Java-Themen 3
S java source code Allgemeine Java-Themen 5
G Java Programm mit Freischalt code entwickeln Allgemeine Java-Themen 30
K Test-Code in Java-Klassen verstecken (wie mit Precompiler möglich) Allgemeine Java-Themen 10
martin82 Java-Code aus Text-Datei parsen Allgemeine Java-Themen 3
P [erledigt] Java-Code in Ausarbeitung dokumentieren Allgemeine Java-Themen 2
J Java Code schützen? Allgemeine Java-Themen 19
K UML Komposition in Java Code Allgemeine Java-Themen 4
hdi Source Code von Sun's Java Klassen Allgemeine Java-Themen 11
T .jar Datei aus Java Code starten Allgemeine Java-Themen 10
Chris81T JNI: Java Methoden von C++ Code aufrufen Allgemeine Java-Themen 8
J YAML + Java: Simpler Code funktioniert nur unter Windows Allgemeine Java-Themen 2
C Listen in Java. Anehängter Code nicht ganz klar Allgemeine Java-Themen 19
S java source code Allgemeine Java-Themen 7
I ASCII Code in Java Allgemeine Java-Themen 3
R bestimmten HTML Code per JAva lesen lassen Allgemeine Java-Themen 7
S Java Code in Word Allgemeine Java-Themen 8
leifg komischer Java code Allgemeine Java-Themen 4
I Alter Java Code! Allgemeine Java-Themen 8
D Java Code to Flussdiagramm Allgemeine Java-Themen 8
G Java Code in Programm umwandeln? Allgemeine Java-Themen 12
M pdf maker via java code ansprechen Allgemeine Java-Themen 2
M Code von Java-Klassen in Eclipse Allgemeine Java-Themen 4
G c code übersetzen nach java Allgemeine Java-Themen 2
Reeny JNI - Java-Code mit DELPHI verbinden Allgemeine Java-Themen 2
G Mit Java 1.5 zu 1.4 kompatiblen Code erzeugen Allgemeine Java-Themen 5
C Java Native binding Code will nicht so ganz Allgemeine Java-Themen 2
G C++ Code nach Java übersetzen Allgemeine Java-Themen 14
C Java Code schützen - Key4J Allgemeine Java-Themen 10
S Java Assembly Code Allgemeine Java-Themen 13
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben