AGB  ·  Datenschutz  ·  Impressum  







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

Delphi vs. C# vs C++

Ein Thema von luisk · begonnen am 30. Jul 2015 · letzter Beitrag vom 31. Jul 2015
Thema geschlossen
Seite 3 von 8     123 45     Letzte »    
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#21

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 13:48
Das UI spielt doch bei dem Vergleich keine Rolle, da eh nur bei
if (li mod 1000=0) then begin
Hast Du eine Messung ausgeführt um Deine Vermutung zu verifizieren?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
 
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#22

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 13:51
Hast Du eine Messung ausgeführt um Deine Vermutung zu verifizieren?
Genau !
Kannst Du evtl. mal den Code bei C++ messen, um zu vergleichen ?
Hab leider kein C++ zur Hand.
 
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#23

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 13:58
Wie schnell läuft dieses einfache Programm auf MS C++ im Vergleich zu C# und Delphi !
Ich kanns leider nicht mit MS C++ testen, hab gerade nur einen gcc zur Hand (hab deshalb auch das UI-Update rausgeschmissen - es geht ja um die Schleife)

Code:
int main() {
  int i, j;
  for (i = 0; i < 50000; i++)
    for (j = 0; j < 1000000; j++)
      ; // kein UI-Update. Lenkt nur ab.
  return 0;
}

Ergebnis: Das Programm läuft im einstelligen Millisekundenbereich (1-2ms), wobei anzumerken ist, dass in dem Bereich Messungen im Verhältnis ungenau sind; Programm läuft aber in wenigen Millisekunden.
Ich habe auch mit den Werten rumgespielt, statt 50000 auch 50 oder 1000000, das Ergebnis blieb dabei aber nahezu konstant (+/-1ms, nehme an das sind Messungenauigkeiten).

Fazit daraus: Sinnvolle Performance-Messung ist schwieriger, als es aussieht.
Mike
Passion is no replacement for reason
 
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#24

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 13:58
Debug oder Release Config?

Einfacher oder mehrfacher Durchlauf (Stichwort JiT)?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
 
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#25

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 14:00
Wenn der gcc schlau optimiert, macht er sowieso das draus:
Code:
int main() {
  return 0;
}
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
 
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#26

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 14:01
Natürlich macht die Ausgabe am UI extrem viel aus.

Eine Ausgabe am UI ist grob so langsam wie einige tausende Schleifendurchläufe in denen nichts sonst gemacht wird.
Das heisst wenn Du alle 1000 Durchläufe stoppst, um irgendwas zu machen was grob geschätzt um die 8 - 12 mal so viel Zeit braucht wie die 1000 durchzuzählen, misst Du ausschliesslich die Darstellung am UI.

Beschäftige Dich erstmal mit den theoretischen Grundlagen von korrekten Performance-Tests bevor Du versuchst einen komplett unsinnigen Test mit anderen Sprachen / Plattformen durchführen zu lassen.

Und das ist auch der Grund, warum Dir hier niemand dieses unsinnige Beispiel mit C++ testen mag. Die Leute hier haben keine Lust sich mit sowas offensichtlich sinnlosem zu beschäftigen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
 
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 14:07
Zitat:
Ergebnis: Das Programm läuft im einstelligen Millisekundenbereich (1-2ms), wobei anzumerken ist, dass in dem Bereich Messungen im Verhältnis ungenau sind; Programm läuft aber in wenigen Millisekunden.
Ich habe auch mit den Werten rumgespielt, statt 50000 auch 50 oder 1000000, das Ergebnis blieb dabei aber nahezu konstant (+/-1ms, nehme an das sind Messungenauigkeiten).
Wirklich nur 2 ms?

Der selbe Code als Konsolenanwendung in Delphi benötigt rund 17 Sekunden.
Markus Kinzler
 
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
190 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 14:14
Ich finde diese Art von Messungen sinnfrei und wenn man schon C++,C# und Delphi vergleicht sollte man sich mit dem Debugger auch mal den erzeugten Assembler-Code ansehen. Vielleicht optimiert ein guter/aggressiver Compiler die einfachen (sinnlosen) Schleifen auch einfach weg und macht nix wie eben "return 0". Da kann doch nichts vergleichen !
Wenn man die CPU-Arithmetik und die Qualität des erzeugten Codes testen will muss man schon etwas Anspruchvolleres proggen. Dann könnte man auch testen, ob der Compiler die Befehlssätze (Stichwort SSE-SSE4.2) der CPU sinnvoll nutzt.
Thomas Forget
 
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#29

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 14:14
Zitat:
Ergebnis: Das Programm läuft im einstelligen Millisekundenbereich (1-2ms), wobei anzumerken ist, dass in dem Bereich Messungen im Verhältnis ungenau sind; Programm läuft aber in wenigen Millisekunden.
Ich habe auch mit den Werten rumgespielt, statt 50000 auch 50 oder 1000000, das Ergebnis blieb dabei aber nahezu konstant (+/-1ms, nehme an das sind Messungenauigkeiten).
Wirklich nur 2 ms?

Der selbe Code als Konsolenanwendung in Delphi benötigt rund 17 Sekunden.
Das hängt eben stark vom Compiler ab. Debug vs. Release, und wie viel er optimiert. Union hats richtig erkannt - der Compiler überspringt einfach die leere(n) Schleifen. Das war auch der Sinn hinter dem Beispiel: "Einfach so" Performance messen und vergleichen bringt kein sinnvolles Ergebnis. Haben zwar schon viele angedeutet, wurden aber überhört - der TE wollte eine Messung für C++ sehen, vielleicht öffnet das die Augen.
Mike
Passion is no replacement for reason
 
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#30

AW: Delphi vs. C# vs C++

  Alt 30. Jul 2015, 14:22
Hallo,
hab mal einen Vergleich zwischen Delphi 6 und MS C# Express 2015 gemacht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var li,lj:integer;
begin
        li := 0;
        lj := 0;
            for li:=0 to 50000 do begin
               for lj:=0 to 1000000 do begin

                end;
                if (li mod 1000=0) then begin
                   button1.caption := inttostr(li);
                   button1.Update();
                end;
            end;
end;
C#:
Code:
       private void button1_Click(object sender, EventArgs e)
        {
            int li = 0;
            int lj = 0;
            for (li=0;li<50000;li++)
            {
                for(lj=0;lj<1000000;lj++)
                {                 
                }
                if (li % 1000 == 0)
                {
                    button1.Text = li.ToString();
                    button1.Update();
                }
            }
        }
Ergebnis: Delphi ist 10 mal schneller als C#
Kann jemand Angaben zu C++ machen ?
Das Ergebnis ist das bei blödsinniger permanenten GUI-Aktualisierung (welche die Funktionzeit eh vervielfacht) Delphi schneller diese blödsinnige Permanete GUI-Aktualsierung durchführen kann. Weiter Aussagen zu Performancevergleich Delphi <-> C# lassen sich nicht ableiten.

Und wie heißt es so schön: "Wer Mist mist, mist Mist"
Windows Vista - Eine neue Erfahrung in Fehlern.
 
Thema geschlossen
Seite 3 von 8     123 45     Letzte »    


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 22:18 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