Announcement

Collapse
No announcement yet.

Wie optimal arbeitet der Compiler ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie optimal arbeitet der Compiler ?

    Von C++ bin ich Ausdrücke wie C += 3; gewohnt. Werden unter Delphi Ausdrücke wie C := C + 3; automatisch intern ebenso optimal wie in C++ kompiliert?

  • #2
    Als Delphi-Entwickler mußt Du Dir in der täglichen Praxis über solche Dinge keine Gedanken machen und kannst Dich auf die Lösung der Aufgaben konzentrieren. Die Optimierung liegt in der Lesbarkeit des Quellcodes. Sowas wie C += 3 benötigt der Delpi-Entwickler nicht. Eine Optimierung bzgl. Ausführungsgeschwindigkeit übernimmt Delphi. Bitte die Compilereinstellungen dabei beachten.
    Delphi erzeugt allerdings relativ große EXE, was bei GByte-Festplatten wohl kaum noch jemand interessiert. Wenn doch, dann können BPL's, DLL's, COM eingesetzt werden.
    Benötigt man besonders schnelle Programme, dann schreibt man die entsprechenden Algorithmen mit Assembler, C oder Fortran.
    Z.B. gibt es von Intel speziell auf Intel-Prozessoren optimierte C- und Fortran-Compiler. Mit diesen Compilern erstellt man dann DLL's und die Benutzeroberfläche kann dann z.B mit Delphi erstellt werden.
    Assembler kann direkt in den Pascal-Quellcode eingebunden werden, dies wird auch von der vcl genutzt

    Comment


    • #3
      Ein Grund für das neue BDS 2006 war ja die versprochene Interoperabilität von Delphi, C++ etc.. Nur muss man eben erahnen können, wo es sich empfiehlt, z.B. ein C++ Teilprojekt zu separieren. Darum stellte ich auch meine Frage, die herauszufinden suchte, bei welchen Ausdrücken man besser die Sprache wechseln sollte, wenn es denn wirklich auf Tempo ankommt. Ich denke da an solche Anwendungen (genauer: Teilbereiche daraus) wie z.B. mein aktuelles Multi-Schachvarianten Programm SMIRF, das mit BC++ Builder 6 erstellt wurde, nun aber leider unter dem BDS 2006 nicht mehr linkbar ist.

      Delphi-Teile scheinen mir heute den Vorteil zu haben, direkt aus dem Quellltext heraus dokumentiert werden zu können (auch wenn hierzu brauchbare Erläuterungen fehlen), was bei C++ leider so gar nicht möglich ist

      Comment

      Working...
      X