2016-05-13 5 views
-2

Wir verwenden Web-Sockets in unserem Projekt und es gibt eine Anforderung auf die Geschwindigkeit von Websocket zu bewerten. Wie man die Zeit misst, die von websocket genommen wird, um zu antwortenSo messen Sie die Zeit von WebSocket zu reagieren

+0

Poste deinen Code, damit Leute dir Beispiele auf deiner spezifischen Implementierung geben können – Brett

Antwort

0

Gegeben, dass ich im Stapelüberlauf neu bin und ich kann Kommentare nicht schreiben, werde ich versuchen, Ihnen eine Antwort mit den Informationen zu geben, die Sie bekanntgegeben haben.

Wenn Sie zu Google gehen, finden Sie viele Beispiele zum Thema "So berechnen Sie die verstrichene Zeit" oder "Zeit in Java ausführen". Die folgenden Beispiele wurden aus mkyong

Datum extrahiert() getTime():.

long lStartTime = new Date().getTime(); 
//some tasks 
long lEndTime = new Date().getTime(); 

long difference = lEndTime - lStartTime; 

System.out.println("Elapsed milliseconds: " + difference); 

System.currentTimeMillis()

long lStartTime = System.currentTimeMillis(); 
//some tasks 
long lEndTime = System.currentTimeMillis(); 

long difference = lEndTime - lStartTime; 

System.out.println("Elapsed milliseconds: " + difference); 

System.nanoTime()

long lStartTime = System.nanoTime(); 
//some tasks 
long lEndTime = System.nanoTime(); 

long difference = lEndTime - lStartTime; 

System.out.println("Elapsed milliseconds: " + difference/1000000); 

Vollständiges Beispiel

import java.util.Date; 

public class TimeApp { 
    public static void main(String[] argv) { 

    long lStartTime = new Date().getTime(); // start time 

    createArray(); // some tasks to eat time 

    long lEndTime = new Date().getTime(); // end time 

    long difference = lEndTime - lStartTime; // check different 

    System.out.println("Elapsed milliseconds: " + difference); 

    } 

    public static void createArray() { 

    try { 
     Thread.sleep(2000); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 

    String sArray[] = new String[1000000]; 

    for (int i = 0; i < 1000000; i++) 
     sArray[i] = "Array " + i; 

    } 
} 

Hoffentlich hilft dir das!

+0

Nur ein tought: Ich mag nicht, eine Datumsinstanz nur zu verwenden, um die Epochezeit zurückzugewinnen, seit System es zur Verfügung stellt. es kostet nicht viel mehr, in RAM oder für die CPU, aber das ist nicht hilfreich, da Sie es gegen einen anfordern müssen, der das System verwendet. – AxelH

+0

Gut zu wissen, andere Ansätze und Überlegungen. Vielen Dank. – Cagt

Verwandte Themen