Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#16

AW: Case-Statement für Float-Werte

  Alt 17. Jun 2020, 01:43
Es gäbe aber keinen Grund Beides nicht zu kombinieren.

Wenn der CASE-Wert Ordinal ist, dann den optimierten Code generieren,
und ansonsten könnte der Compilier das notfalls auch als viele IF-ElseIf-ElseIf-...-Else umsetzen,
bzw. für Strings in ein CASE mit IndexStr/IndexText übersetzen usw.

Denn wenn wir versuchen das Vorhaben so zu optimieren, damit es ins CASE passt,
dann kommt weniger lesbarer Code bei raus, als wenn das der Compilier intern anpassen würde.


Genauso wie es echt saudoof ist, dass IN immernoch als grauenhaftes SET-Assembler übersetzt wird, anstatt es optional mit BitMasken oder InArray umzusetzen.
Oder dass CharInSet intern nur Mist macht und man den Dreck nicht wieder entfernt, weil IN durch ein IN in einer Funktion zu ersetzen, welche einfach nur die CompilerWarnung unterdrückt, dass ist sowas von schwachsinnig nutzlos.
Wobei das CharInSet-Problem sofort behoben ist, wenn man für "IN WideChar" die grade erwähnte Verbesserung hätte, oder einfach die selbe Codeoptimierug verwenden würde, wie aktuell beim CASE.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (17. Jun 2020 um 01:55 Uhr)
  Mit Zitat antworten Zitat