java Nanotime vs C ++ ns

stimmen
-2

Ich mag die nanotimes von zwei Sprachen drucken und den Wert vergleichen.

JAVA-Code

long nano_startTime = System.nanoTime();
System.out.println(nano_startTime);

C ++ Code

system_clock::time_point begin = system_clock::now();
auto since_epoch = begin.time_since_epoch(); // get the duration since epoch
std::cout << std::to_string(duration_cast<nanoseconds>(since_epoch).count()) << std::endl;

Ich erwarte, dass die Ergebnisse als gleichwertig, aber die Ergebnisse sind anders ...!

Ergebnisse

JAVA: 4459739378141 
C++   1584649009920663623

BTW: Wenn i Millisekunden verwenden, sind die Ergebnisse gleichwertig. Aber ich benötigen mehr Daten Präzision Zeit und leider Mikrosekunden ist nicht da in Java.

Kann mir jemand helfen? Vielen Dank.

Veröffentlicht am 19/03/2020 um 21:55
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Lesen Sie die Javadoc vonSystem.nanoTime() (Hervorhebung hinzugefügt):

Dieses Verfahren kann nur verwendet werden , die verstrichene Zeit zu messen , und ist nicht auf einen anderen Begriff des Systems oder Wandtaktzeit bezogen. Der zurückgegebene Wert stellt ns seit einer festen aber beliebigen Ursprung Zeit (vielleicht in der Zukunft, so Werte negativ sein kann). Die gleiche Herkunft wird von allen Beschwörungen dieser Methode in einer Instanz einer virtuellen Java - Maschine verwendet wird ; andere virtuelle Maschineninstanzen sind wahrscheinlich einen anderen Ursprung verwenden.

Auf der anderen Seite, in C ++ Code, since_epochist die Zeit, na ja, da Epoche (vorausgesetzt , das Verfahren nicht kapriziös genannt wurde, Sie seine Dokumentation überprüfen könnten).

Und System.currentTimeMillis()kehrt:

die Differenz in Millisekunden gemessen wird, zwischen der aktuellen Zeit und Mitternacht, 1. Januar 1970 UTC.

So dass Renditen als auch die Zeit seit Epoche.

Die Dokumentation ist ein guter Ort, um das Verhalten von Methoden zu verstehen.

Beantwortet am 19/03/2020 um 21:57
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more