Einzelnen Beitrag anzeigen

tommie-lie
(Gast)

n/a Beiträge
 
#39

Re: Was ist schneller, Funktion oder Prozedure?

  Alt 29. Okt 2005, 09:26
Zitat von dizzy:
Oh, um sqrt() gings mir garnicht. Dummes Beispiel...
Das dürfte aber so ziemlich der einzige Aufruf sein (ich weiß nicht, was es noch als Compiler-Magic gibt, Sinus und Kosinus und das war's glaub' ich auch schon), den der Compiler direkt zu Compile-Time ausrechnet

Zitat von dizzy:
Ich meinte generell einfach, dass konstante Teile einfacher mathematischer Formeln im Vorfeld ausgerechnet werden, und nicht zu Runtime wie es im Code steht.
Wie gesagt, ein mathematischer Parser ist recht einfach, vor allem der von Delphi. So kommt er zum Beispiel nicht damit klar, das konstante und variable Teile gemischt werden, also 2+x+3 kriegt er schonmal nicht hin. Ich weiß nicht, für welche Reihenfolge das gilt, aber wenn die Konstante auf einer bestimmten Seite der Variable ist, kriegt er's auch nicht hin. Also entweder x+2+3 oder 2+3+x wird ebenfalls nicht optimiert, so habe ich es zumindest von Delphi6 in Erinnerung.

Zitat von dizzy:
eigentlich gehts mir ja darum das Konzept: "Könnte der Coder auch von Hand machen, aber ich tu's wenn er es nicht tut" von eben dieser Optimierung von mathem. Ausdrücken auf die gesamte Optmierung ausgeweitet würde.
Das ist es, was viele andere Compiler machen. Obiges Beispiel mit der Schleife wäre Loop-Unrolling gewesen, und das kann heute so gut wie jeder bessere Compiler.

Zitat von dizzy:
Zitat von tommie-lie:
Es ist in komplexen Vorgängen nicht besser
Da gehe ich von aus
Da brauchst du nicht von ausgehen, es ist so


Edit: Irnkwie krieg' ich das mit dem Quoten nicht auf die Reihe...
Edit2:
  Mit Zitat antworten Zitat