Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Aus "Result" lesen (https://www.delphipraxis.net/53574-aus-result-lesen.html)

TeronG 19. Sep 2005 13:50

Re: Aus "Result" lesen
 
Zitat:

Zitat von shmia
Es ist nicht verboten.
Man sollte nur versuchen, das Result so spät als möglich zuzuweisen.
Grund: bei frühzeitiger Zuweisung an Result wird ein wertvolles Prozessorregister für andere Aufgaben blockiert.

AHA :shock:
Nice 2 know ... wenn das so ist Stricke ich wohl mal n paar (alte) Functionen bissl um ^^
@Robert_G: Thanks ... ohne dich hätt ich den Post doch glatt übersprungen/übersehen ^^

leddl 19. Sep 2005 13:52

Re: Aus "Result" lesen
 
Inwiefern ignoriere ich shmias Beitrag? Ich habe nur nichts dazu gesagt... Natürlich hat er da recht. Nur benutze ich eben Result als Variable auch nur, wenn ich sie brauche, wie eben in meinem Beispiel. Später kann ich dort Result nicht mehr zuweisen, ohne eine andere Variable zu benutzen.
Und generell weise ich Werte auch erst dann zu, wenn sie gebraucht werden, und selten am Anfang einer Methode.
Aber inwiefern widersprechen DerDans und mein Post shmia? :gruebel: Oder willst du nur wieder rumtrollen? :lol:

smudo 19. Sep 2005 13:58

Re: Aus "Result" lesen
 
Zitat:

Zitat von shmia
bei frühzeitiger Zuweisung an Result wird ein wertvolles Prozessorregister für andere Aufgaben blockiert.

Welche Nachteile bringt das mit sich?
Ich meine, muss ich meine ganzen Funktionen jetzt umstellen?
Ich benutze sehr häufig die Result-Variable in der Funktion. :pale:

René

freak4fun 19. Sep 2005 14:04

Re: Aus "Result" lesen
 
Zitat:

Zitat von shmia
Delphi-Quellcode:
// Beispiel
Result := False;
a := ...
b := ...
if a > b then
  Result := True;

// besser
a := ...
b := ...
if a > b then
  Result := True
else
  Result := False;

Delphi-Quellcode:
// Beispiel
Result := False;
a := ...
b := ...
if a > b then
  Result := True;

// besser
a := ...
b := ...
Result := (a > b);
Entschuldigung, konnte nicht widerstehen. :angel:

MfG
freak

Kedariodakon 19. Sep 2005 14:07

Re: Aus "Result" lesen
 
Zitat:

Zitat von shmia
Es ist nicht verboten.
Man sollte nur versuchen, das Result so spät als möglich zuzuweisen.
Grund: bei frühzeitiger Zuweisung an Result wird ein wertvolles Prozessorregister für andere Aufgaben blockiert.
Delphi-Quellcode:
// Beispiel
Result := False;
a := ...
b := ...
if a > b then
  Result := True;

// besser
a := ...
b := ...
if a > b then
  Result := True
else
  Result := False;

öhm Warum nicht:
Delphi-Quellcode:
Result := a > b;
:gruebel:
Aber Egal...

Nun würd mich aber interessieren, in wie weit sich das auf die Performance auswirkt, sprich Result benutzen im Gegensatz, das Result nur am Ende Zuzuweisen...

Meine Meinung nach nimmt sich dass nichts, lass mich aber gern eines besseren beleren...

Bye

Edit: da war wohl freak4fun schneller...

Robert_G 19. Sep 2005 14:12

Re: Aus "Result" lesen
 
Zitat:

Zitat von leddl
Inwiefern ignoriere ich shmias Beitrag? Ich habe nur nichts dazu gesagt...

Deshlab fragte ich ja...
Zitat:

Oder willst du nur wieder rumtrollen? :lol:
Schelcht geschlafen? SB-Spam-Sammelpunkte alle?
Ne iss klar... Ganz vergessen: Wenn man mit dieser, hier oft praktizierten, Quick'nDirty-BlossNichtNachdenken-"Einfachheit" nicht einverstanden ist, ist man gleich ein Troll.
Wie konnte ich das nur vergessen? :wall:

leddl 19. Sep 2005 14:28

Re: Aus "Result" lesen
 
Zitat:

Zitat von Robert_G
Zitat:

Zitat von leddl
Inwiefern ignoriere ich shmias Beitrag? Ich habe nur nichts dazu gesagt...

Deshlab fragte ich ja...
Zitat:

Oder willst du nur wieder rumtrollen? :lol:
Schelcht geschlafen? SB-Spam-Sammelpunkte alle?
Ne iss klar... Ganz vergessen: Wenn man mit dieser, hier oft praktizierten, Quick'nDirty-BlossNichtNachdenken-"Einfachheit" nicht einverstanden ist, ist man gleich ein Troll.
Wie konnte ich das nur vergessen? :wall:

Ach Robert, flipp doch nicht gleich aus :roll:
Du wirfst halt ständig mit Kommentaren um dich, die man eigentlich nur als provozierend auffassen kann. Und ich zähle meinen Post nicht zu "Quick'nDirty-BlossNichtNachdenken-"Einfachheit"" :evil:
Ich habe shmia nicht widersprochen, aber was für einen Effekt hätte es gehabt, extra noch zuzustimmen? :gruebel:
Ich habe SebE nur ein Beispiel gegeben, wo man Result in der von seinem Lehrer abgelehnten Weise einsetzen kann, und wie ich es auch tue. Denn ich finde es so praktisch und habe noch nie bemerken können, daß dadurch die Leistung meines PCs auch nur minimalst geschmälert wurde. :roll:

Also wenn du was zu sagen hast, dann tu das bitte sachlich und auf eine Weise, die einem nicht gleich zeigt, daß du alle außer dir für komplett unfähig hältst. Und wenn du schon so posten willst, dann vertrag auch bitte eine etwas ironische Antwort :roll: Wer austeilen will, muß auch einstecken können...

Grishnak 19. Sep 2005 14:33

Re: Aus "Result" lesen
 
Immer mit der Ruhe :angel: ! Soll doch jeder so programmieren wie er will - Hauptsache es funktioniert :zwinker: !
Auch ich nutzte "Result" oft schon innerhalb der Funktion und nicht erst am Ende. Ich bin auch nicht der Meinung, dass der dadurch entsehende Zeitverlust für mich signifikant ist! Wer es so nicht mag, soll es eben lassen. Interessant war der Hinweis allerdings schon :!: !

Niko 19. Sep 2005 14:35

Re: Aus "Result" lesen
 
Zitat:

Zitat von shmia
Grund: bei frühzeitiger Zuweisung an Result wird ein wertvolles Prozessorregister für andere Aufgaben blockiert.

Hm, das stimmt zumindest unter Delphi 2005 nicht (Hab's gerade mal ausprobiert :wink: ). Bei einfachen Funktionen wird für Result ein Register verwendet. Wenn die Funktion aber kompliziert genug ist, legt der Compiler für Result eine lokale Variable auf dem Stack an und weist deren Wert erst am Ende der Funktion an eax zu.

Somit sehe ich eigentlich keinen Grund, warum man result nicht wie eine normale Variable einsetzen sollte.

SebE 19. Sep 2005 14:50

Re: Aus "Result" lesen
 
Zitat:

Zitat von shmia
Es ist nicht verboten.
Man sollte nur versuchen, das Result so spät als möglich zuzuweisen.
Grund: bei frühzeitiger Zuweisung an Result wird ein wertvolles Prozessorregister für andere Aufgaben blockiert.

Nimmt Result, wenn kein Wert zugewießen wurde, keinen Speicher in Gebrauch??


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 Uhr.
Seite 2 von 3     12 3      

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