Ich denke auch da steckt intern sowas wie ein strcmp() und damit ASCII dahinter, ist also Lexikographisch vergleichbar.
https://www.geeksforgeeks.org/strcmp-in-c-cpp/
"Zweckmäßigerweise sind die Inhalte zweier Speicherstellen (Bytes) auf der untersten Maschinenebene immer miteinander (im Sinne einer Totalordnung) vergleichbar. Zweckmäßigerweise sind die Ziffern resp. Buchstaben den Bitkombinationen eines Bytes so zugeordnet, dass diese Ordnung mit der üblichen Ordnung im Ziffernsystem resp. Alphabet übereinstimmt. Aufbauend auf diesem Grundbaustein eines Vergleichs lassen sich durch lexikographische Zusammensetzung zusammengesetzte Datentypen, beispielsweise mehrstellige Zeichenketten, miteinander vergleichen.
Korreliert die lexikographische Indizierung mit den Speicheradressen, hat also das beim Vergleichen höherrangige Byte die niedrigere Adresse, dann geschieht der Vergleich im Big-Endian-Stil, und im Little-Endian-Stil, wenn das höherrangige Byte die höhere Adresse hat. Da sich der lexikographische Vergleich im günstigsten Fall schon im ersten, höchstrangigen Byte entscheidet, ist er schneller, wenn dieses erste Byte im unmittelbaren Zugriff liegt. "
https://de.wikipedia.org/wiki/Lexiko...der_Informatik
Zitat:
Zitat von TogoTiger
Strings sind aber auch nicht sehr effizient. Wer Wert darauf legt, solls besser bleiben lassen.
|
Da es zumindest in dieser Form auf unterer Maschinenebene vergleichbar ist, würde ich sogar sagen das es wahrscheinlich sogar deutlich performanter ist als die Umwandlungen von Strings in Unix-Zeitstempel und der Vergleich darüber. Hinter den Umwandlungen steckt vermutlich sowas wie ein struct tm bzw mktime
struct tm - C++ Reference /
http://www.cplusplus.com/reference/ctime/mktime/ und das ist auf keinen Fall effizient.