AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

if ... else, 2 mal if oder case ?

Ein Thema von jfheins · begonnen am 5. Jun 2005 · letzter Beitrag vom 6. Jun 2005
Antwort Antwort
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Re: if ... else, 2 mal if oder case ?

  Alt 6. Jun 2005, 07:26
@nailor: Leider compiliert Delphi keine Sprungtabellen. Wenn dem so wäre, dann würde Delphi ...
1. meckern, wenn die CASE-Bedingungen einen sehr grossen Zahlenraum abbilden. Wenn Du z.B.
Delphi-Quellcode:
Case Foo of
  -maxint : Bar;
   maxint : Sockenshoos;
  End;
schreibst, wäre die Sprungtabelle verdammt gross.
2. Würde der Debugger beim Steppen nicht durch die CASE-Anweisungen wandern.
3. Würde der ASM-Code auch irgendwie anders aussehen.

3 habe ich nicht gecheckt, zu 1 fällt mir der UCSD-Compiler aus den 70er Jahren des vorigen Jahrhunderts ein und zu 2 nix weil sonnenklar.

Ich bin kein Compiler-Profi, könnte mir aber vorstellen, das man so ein CASE variabel compilieren könnte. Ist der Zahlenraum (und damit die resultierende Sprungtabelle) halbwegs übersichtlich, kämen Jumptables, ansonsten IF...ELSE Konstrukte in Betracht. Warum Delphi das offensichtlich nicht macht, ist mir ein Rätsel.

Die Frage (Was ist schneller) ist wirklich nur von theoretischer Bedeutung, aber ich möchte wissen, WIE mein Compiler übersetzt. Das Detail hier ist unwichtig, aber dennoch sehr interessant.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz