Einzelnen Beitrag anzeigen
  #17 (permalink)  
Alt 16.04.20
Ca$hDigger Ca$hDigger ist offline
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

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 Beitrag anzeigen
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.