AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Entscheidungen treffen, if then else oder case (schneller)
Thema durchsuchen
Ansicht
Themen-Optionen

Entscheidungen treffen, if then else oder case (schneller)

Ein Thema von Christian18 · begonnen am 8. Jul 2004 · letzter Beitrag vom 9. Jul 2004
Antwort Antwort
Seite 1 von 2  1 2      
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Entscheidungen treffen, if then else oder case (schneller)

  Alt 8. Jul 2004, 16:45
Hallo,

ich muß sehr viele Entscheidungen treffen, ist es besser das über if then else zu machen, oder sollte ich das mit case machen??? was ist schneller???
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#2

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 17:35
wenn case möglich ist, ist dies schneller, da nur eine "Prüfung" durchgeführt werden muss, für mehrere if-Anweisungen müssen natürlich auch viele solcher Prüfungen durchgeführt werden.. irgendwie logisch

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#3

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 17:51
Zitat:
wenn case möglich ist, ist dies schneller, da nur eine "Prüfung" durchgeführt werden muss, für mehrere if-Anweisungen müssen natürlich auch viele solcher Prüfungen durchgeführt werden.. irgendwie logisch Very Happy
Ähm, will ja nix sagen, aber deine Antwort ist irgendwie falsch.
bei Case muss ebenfalls für jedes of-Statement ein vergleich durchgeführt werden.

Delphi-Quellcode:
if a=1 then begin
  // Befehlsblock #1
end else if a=2 then begin
  // Befehlsblock #2
end else if a=3 then begin
  // Befehlsblock #3
end else begin
  // Befehlsblock #4
end;
dürfte vom erzeugen Maschinen code her gleich sein zu
Delphi-Quellcode:
case a of
  1: // Befehlsblock #1
  2: // Befehlsblock #2
  3: // Befehlsblock #3
  else
    // Befehlsblock #4
end;
und demnach dürften sie auch gleich schnell sein.
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#4

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 17:55
problem bei case: nur ordinäre (stimmt das so?) typen
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 17:58
Zitat von phXql:
problem bei case: nur ordinäre (stimmt das so?) typen
Nicht ganz Ordinale Typen. Und die Erköärung, warum case schneller ist als if gibt es hier.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 17:58
ordinale Typen

ordinär = langweilig, gewöhnlich ...
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
rantanplan99
(Gast)

n/a Beiträge
 
#7

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 18:06
Hm. stimmt natürlich Case ist schneller (falls man case verwenden kann)
ich dussel hab natürlich nur die IF abfragen gezählt, aber das is ja blödsinn, muss ja die assembler JMP befehle zählen. Und im Falle von String vergleichen sind das natürlich verdammt viele. Mein Fehler.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 20:44
Zitat von xineohp:
ordinale Typen

ordinär = langweilig, gewöhnlich ...
ordinal und ordinär ist aber nicht das gleiche. Oder sagst du zu einem: "Mensch, Ihre Frau/Freundin ist ja vielleicht ordinal?" Ich schätze, damit machst du dich eher lächerlich und stellst nicht unbedingt Sprachkenntnisse unter Beweis.

Oder um es mit den Worten eines Bahnhofsmitarbeiters zu sagen, der gefragt wurde: "Entschuldigen Sie bitte, können Sie mir sagen, wann [...]"
Zitat:
Tut mir leid, aber da bin ich nicht impotent.
Ist wirklich passiert.
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 21:40
Zitat von MathiasSimmack:
Zitat von xineohp:
ordinale Typen

ordinär = langweilig, gewöhnlich ...
ordinal und ordinär ist aber nicht das gleiche. Oder sagst du zu einem: "Mensch, Ihre Frau/Freundin ist ja vielleicht ordinal?" Ich schätze, damit machst du dich eher lächerlich und stellst nicht unbedingt Sprachkenntnisse unter Beweis.

Oder um es mit den Worten eines Bahnhofsmitarbeiters zu sagen, der gefragt wurde: "Entschuldigen Sie bitte, können Sie mir sagen, wann [...]"
Zitat:
Tut mir leid, aber da bin ich nicht impotent.
Ist wirklich passiert.
ich befürchte, da hast du was missverstanden ... ich hab nie gesagt, dass ordinal = ordinär ist!
lediglich, dass er "ordinale Typen" hätte verwenden sollen und, dass ordinär = gewöhnlich, langweilig ist!
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Benutzerbild von phXql
phXql

Registriert seit: 11. Mär 2004
Ort: Mühldorf
824 Beiträge
 
#10

Re: Entscheidungen treffen, if then else oder case (schnelle

  Alt 8. Jul 2004, 22:26
ok, ordinal wars aber ordinale typen sind ja ordinär
"Dunkel die andere Seite ist"
"Yoda! Halts Maul und iss deinen Toast!"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz