Zeit messen

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hi,

ich habe mir eine Netzwerkanwendung programmiert und möchte jetzt die Zeit messen, die vom Senden der Daten bis zum Empfang der Daten vergeht.
Die Zeitmessung soll mein Programm in keinster weise beeinflussen.
Wie mache ich das am besten?
Bin Dankbar für jeden Hinweis

Stefan
 

The_S

Top Contributor
ja und wie soll das dein programm dann "nicht beeinflussen"

Vor dem senden die Zeit mit System.currentTimeInMillis in ein long speichern und nach dem senden dann von der akutellen Zeit abziehen.
 

PollerJava

Top Contributor
ich rufe meine run()- Methode alle 2s auf und trotzdem bekomme ich die gleiche Zeit. Das kann ja nicht sein oder?
 

Ark

Top Contributor
Das hängt davon ab, an welchen Stellen im Programm du die Zeit abnimmst.

Poste doch mal den Code, ich habe schon so einen Verdacht! ;)

Ark
 

PollerJava

Top Contributor
Ich bekomme immer die gleiche Zeit bei zeit1 und zeit2 als wie wenn sie einmal initialisiert würden und dann niichtsmehr.also auch bei jedem Durchlauf wird die selbe Zeit ausgegeben,
lg

Code:
 public void run() 
        {
       
        long zeit1 = System.currentTimeMillis(); 

        mach irgendwas...
    
        long zeit2 = System.currentTimeMillis();
        System.out.println("das ist zeit1: " + zeit1 + " und das ist zeit2: " + zeit2);
       }
 

Ark

Top Contributor
Zwei grobe Denkfehler sind da drin:

1. Du misst nur die Zeit für "mach irgendwas...". Das ist nicht die Zeit von einem run()-Aufruf zum nächsten!
2. Die Dauer, die du suchst, ist ein Delta-t, also eine Zeitdifferenz und keine Summe.

Ark
 

PollerJava

Top Contributor
ja das sit mir schon klar, ich möchte ja nur, dass von einem Aufruf der run()- Methode bis zum nächsten Aufruf ein anderer Wert ausgegeben wird aber das passiert nich, ich bekomme immer den selben Wert.

wenn ich z.B. in die run()- Metode GregorianCalendar cal = new GregorianCalendar() hineingebe, also bei jedem durchlauf ein neues Objekt erstelle, und die Sekunden ausgebe, dann funktionierts aber das müllt mir ja meinen Speicher mit cal-Objekten voll und das will ich ja auch nicht.
 

Ark

Top Contributor
PollerJava hat gesagt.:
ja das sit mir schon klar
Das bezweifle ich mal.

PollerJava hat gesagt.:
ich möchte ja nur, dass von einem Aufruf der run()- Methode bis zum nächsten Aufruf ein anderer Wert ausgegeben wird
(Folgendes hat nichts mit dem Thema zu tun: ) Stell dir vor, ich möchte das nicht! Warum? Na, weil mein Programm dann immer in Nullzeit fertig wäre! :D


=> Aufrufer posten und Gehirn einschalten!

(Wenn es hier um Threads geht, ist der manuelle Aufruf der run()-Methode sowieso fehl am Platze, aber das nur nebenbei.)

Ark
 

PollerJava

Top Contributor
keine Ahnung was du für einen Stuss schreibst,
ich rufe die run()-Methode weder manuell auf noch sonstwas (run() wird von einem Timer zyklisch aufgerufen)
 

Rock Lobster

Bekanntes Mitglied
Du willst also die Zeit messen, die vergeht, zwischen run-Aufruf 1 und run-Aufruf 2? Dann ist die Methode, wie Du es machst, sowieso falsch, denn Du mißt die Zeit, die "mach irgendwas" benötigt. Und wenn das bei Dir so fix geht, daß das in 0 Sekunden vorbei ist, dann ist es klar, daß da beidesmal der gleiche Wert rauskommt.
 

PollerJava

Top Contributor
Danke ich habs,
ich hab mich verschaut, es sit eh schon gegangen, ich habe auf die letzten 3 Stellen geschaut aber das sind ja millisekunden, die Sekunden gehen ja erst bei der 4. Zahl an .

tut mir leid.

lg
Stefan
 

deleted

Bekanntes Mitglied
PollerJava hat gesagt.:
Hi,

ich habe mir eine Netzwerkanwendung programmiert und möchte jetzt die Zeit messen, die vom Senden der Daten bis zum Empfang der Daten vergeht.
Die Zeitmessung soll mein Programm in keinster weise beeinflussen.
Wie mache ich das am besten?
Bin Dankbar für jeden Hinweis

Stefan

Du lötest auf eine Platine 2 LAN Bausteine, einen entsprechenden Prozessor, welcher in der Lage ist deine Schaltung zu einer LAN Bridge zu machen, sowie das dafür sonst noch benötigte.
Das Ganze musst du schaun, wie du das machen willst.
Einfach die Signale abfangen keine Ahnung ob das mit der Dämpfung hinhaut...
Kommt an deiner LAN Schnittstelle das zu ermittelnde Signal an, schleifst du es erstmal über die Bridge zu deinem Testrechner damit es da ankommt und ferner legst du Priorität 1 an den PIC deiner Schaltung an.
Dadurch wird ein Echtzeitwert aus einem Speicher ausgelesen und via serielle Schnittstelle an deinen Testcomputer übermittelt.
Das Ganze liest du dann in Java ein und hast deinen Testwert.
Ich denke mal so 150-300€ musst du investieren und ein paar Abende den Lötkolben schwingen.
Eventuell hilft das c´t Messprojekt (aktuell in der c´t). Vielleicht mal die Schaltpläne durchstöbern und beim entsprechenden Verfasser dieses Projekts nachfragen, ob man sowas damit realisieren kann.
Ich denke z.B. die komplette Übermittlung des Testsignals an den Testrechner wäre damit eventuell realisierbar.
Das Ganze ist auch modular aufgebaut - du kannst deine Arbeit also für andere Messungen wiederverwenden.

Alternativ könntest du mal bei SUN nachfragen, ob sowas mit deren Echtzeitjava möglich ist. Obwohl ich nicht glaube, dass das ohne Spezialhardware möglich ist, da jede Messung (auch eines Echtzeitsystems) das System beeinflusst.

Ahja selbstverständlich brauchst du 2 von deinen Messteilen.
Die Leitung hat ja 2 Enden also 2 synchronisierte Messstationen ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Zeit messen Allgemeine Java-Themen 2
C Vergangene Zeit seit Anwendungsstart messen Allgemeine Java-Themen 5
F Zeit Optimierung - bzw. ms Optimierung Allgemeine Java-Themen 35
J Message Box soll bei bestimmter Zeit angezeigt werden Allgemeine Java-Themen 19
K CET-Zeit benutzen Allgemeine Java-Themen 6
K Geschätze Zeit implementieren Allgemeine Java-Themen 14
Blender3D AWT Fehlerhafte Zeit bei Calender und Date DateFormat Allgemeine Java-Themen 8
2 Joda Time - Localtime mit anderer Zeit vergleichen? Allgemeine Java-Themen 1
O Java Hardware Software Zeit Allgemeine Java-Themen 7
H Bestimmte Aufgaben zur bestimmter Zeit/ in bestimmten Intervallen Allgemeine Java-Themen 3
F Zeit ermitteln Allgemeine Java-Themen 2
Q Zeit in GUI selbst aktualisieren Allgemeine Java-Themen 5
D Klassen Zeit aus NMEA-Stream in SimpleDateFormat Allgemeine Java-Themen 17
M AudioClip in Spiel mehrfach in kurzer Zeit abspielen Allgemeine Java-Themen 3
N java.util.Date - Zeit auf 00:00 setzen Allgemeine Java-Themen 3
R Raum und Zeit Allgemeine Java-Themen 11
S Zeit Allgemeine Java-Themen 4
Z zeit zwischen maus drücken und loslassen Allgemeine Java-Themen 7
T Methodenparameter zur Compile-Zeit überprüfen Allgemeine Java-Themen 8
J Lizenz auf Zeit Allgemeine Java-Themen 8
X Codeabarbeitung innerhalb des Hauptprogramms für bestimmte Zeit unterbrechen Allgemeine Java-Themen 2
prakdi Zeit zum Durchlauf der Schleifen unverständlich!? Allgemeine Java-Themen 3
A JavaVM Zeit Windows 7 Allgemeine Java-Themen 9
T Zeit von einem Server/Webseite auslesen und in eigener GUI anzeigen Allgemeine Java-Themen 6
C Leerzeilen verbrauchen Zeit! Allgemeine Java-Themen 5
J Datum und Zeit Allgemeine Java-Themen 4
data89 Zeit-Diagramm erstellen Allgemeine Java-Themen 11
G JComboBox getSelectedItem Zeit Allgemeine Java-Themen 5
Kr0e Sekunden -> Zeit Allgemeine Java-Themen 14
T Mit Datum und Zeit rechnen Allgemeine Java-Themen 8
B System CPU Zeit / Last auslesen Allgemeine Java-Themen 2
J zeit überscheidungen ermitteln Allgemeine Java-Themen 6
P Thread Demonstrationr eist durch die Zeit Allgemeine Java-Themen 4
A Compilierdatum/Zeit in Code eingenerieren Allgemeine Java-Themen 13
Kidao Wie ordne ich die aktuelle Zeit in einer Zeitreihe eine? Allgemeine Java-Themen 6
J zeit stoppen Allgemeine Java-Themen 11
M Zeit eines rechners im netzwerk ermitteln Allgemeine Java-Themen 6
B Aktuelle Zeit im Format YYYY-MM-DD HH-MM-SS in Logfile schre Allgemeine Java-Themen 8
C Umrechnung der Zeit Allgemeine Java-Themen 8
B 2 JList instanzen wo nur einer zur selben Zeit selektierbar? Allgemeine Java-Themen 8
I Thread eine bestimmte Zeit zur Ausführung geben Allgemeine Java-Themen 2
M Zeit läuft rückwärts Allgemeine Java-Themen 3
K Thread Safe Zeit Messung Allgemeine Java-Themen 2
D Programmunterbrechung für eine bestimmte Zeit (Millisikunden Allgemeine Java-Themen 10
K ServerSocket benötigt unmengen an Zeit Allgemeine Java-Themen 7
G try auf zeit Allgemeine Java-Themen 8
R Garbage Collector rennt die ganze Zeit Allgemeine Java-Themen 7
M Fortschritt: verbleibende Zeit errechen. Allgemeine Java-Themen 2
F Zeit errechnen mit GregorianCalendar Allgemeine Java-Themen 8
F vergangene Zeit berechnen Allgemeine Java-Themen 6
A Unix Zeit Allgemeine Java-Themen 2
D Datum und Zeit - Date, Calendar oder GregorianCalender ? Allgemeine Java-Themen 13
X Parameter bei Start über Batch-Datei übergeben(Tag und Zeit) Allgemeine Java-Themen 3
T Zeit aufaddieren Allgemeine Java-Themen 3
T zeit in java Allgemeine Java-Themen 4
A Sinuston ausgeben und über Mikro Amplitude messen – machbar? Allgemeine Java-Themen 6
G Speichergrösse eines Objekts messen? Allgemeine Java-Themen 3
F Geschwindigkeit messen Allgemeine Java-Themen 7
G Ausführungsdauer von Methoden messen Allgemeine Java-Themen 3
H Sekunden messen wie lange h.ibernate/jdbc abfragen brauchen Allgemeine Java-Themen 7
K Java-Code messen Allgemeine Java-Themen 15
G Messen in einer Grafik Allgemeine Java-Themen 7
S Bandbreite/Anzahl Pakete messen Allgemeine Java-Themen 3
M Messen, wie oft ENTER gedrückt wurde Allgemeine Java-Themen 10
T WLAN-Feldstärke ala Netstumbler mit Java messen ? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben