Geschwindigkeit ist nicht alles...

Für Dinge zum Forum, Kritik, Verbesserungsvorschläge, Umfragen und ähnliches.
Antworten
kunstlust
Beiträge: 30
Registriert: Fr 29. Jun 2012, 09:36

Geschwindigkeit ist nicht alles...

Beitrag von kunstlust »

Ich bin beim stöbern in youtube auf eine Geschindigkeitsvergleich von c++ zu Perl gestoßen, und habe eines der einfachen Beispiele mal ausprobiert. Ich habe es mal in verschieden Sprachen und System getestet. Dabei habe ich keine exakten Messungen vorgenommen, sonder die Programme gleichzeitig gestartet. Was mich gewundert hat, das mein Core i5 unter Win8/64 und Linux Mint/64 um einiges langsamer ist, als meine Macbook Pro Core2Dou 2.5 und zwar um Faktor 3-4. Ich habe es auch weil es so ein einfaches Beispiel ist mal in andere Sprachen versucht, Purebasic, C#, D und freepascal und ich musste feststellen, das fp ungeschlagen davonrauscht. :D Warum die einfache Consolenanwedung auf dem Core5 so viel langsamer ist, verstehe ich zwar nicht, ist aber auch nicht so wichtig, da das Verhältnis der Sprache immer gleich war, fp war am schnellsten was mich bestärkt, meine Projekte mehr und mehr in freepascal/lazarus umzustellen.

Code: Alles auswählen

 
program counter;
var t:longint;
begin
        for t := 1 to 40000000 do begin
        writeln(t);
        end;
        readln;
end.
 

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2639
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Geschwindigkeit ist nicht alles...

Beitrag von m.fuchs »

Was für ein System hast du auf dem Macbook? 32 oder 64 Bit? Irgendwie war mir so, als seien viele 64-Bit-Programme langsamer als ihre 32-Bit-Pendants.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

kunstlust
Beiträge: 30
Registriert: Fr 29. Jun 2012, 09:36

Re: Geschwindigkeit ist nicht alles...

Beitrag von kunstlust »

Mountain Lion 10.8.2 /64Bit

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2639
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Geschwindigkeit ist nicht alles...

Beitrag von m.fuchs »

Hm, damit hat sich diese Theorie auch erledigt.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Geschwindigkeit ist nicht alles...

Beitrag von Bauer321 »

Welcher i5 denn? Wenn ich mich irre gibts davon doch einige Modelle...

Zudem würde ich die Leistung nicht an einem solch simplen Beispiel fest machen.
www.mcpatcher.net | www.hoeper.me

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Geschwindigkeit ist nicht alles...

Beitrag von theo »

Damit misst du lediglich die Geschwindigkeit der Prozedur Writeln.
Das sagt nicht viel verlässliches aus.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Geschwindigkeit ist nicht alles...

Beitrag von mschnell »

theo hat geschrieben:Das sagt nicht viel verlässliches aus.

Um genau zu sein sagt das über die Sprache gar nichts aus, weil writeln die Aktion von fast komplett vom Bet6riebssystem erledigt wird.

-Michael

kunstlust
Beiträge: 30
Registriert: Fr 29. Jun 2012, 09:36

Re: Geschwindigkeit ist nicht alles...

Beitrag von kunstlust »

Soweit es direkt vom Betriebsystem kommt, sollte die
Sprache ja keinen Unterschied machen. Ich verstehe das
es sich im eine einfache Funktion handelt und
Sie nur eine begrenzte Aussagefähigkeit hat.
Primär hat mich der Unterschied zwischen Mac
und Windows verwundert. Ich habe einen Core5 -3550 mit 16gb und SSD. Und ich denke wir sollten es nicht zu ernst nehmen, ich wollte nur Verwunderung und zu gleich meine Freude über Freepascal mitteilen ;-)

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Geschwindigkeit ist nicht alles...

Beitrag von theo »

kunstlust hat geschrieben:Primär hat mich der Unterschied zwischen Mac und Windows verwundert.


Wie geht der alte Elektronikerspruch: "Wer misst misst Mist" ;-)

Im Ernst, dein gemessener Unterschied zwischen Mac und Win sagt einfach überhaupt nichts interessantes aus. Nichts!

Genau so gut könntest du sagen, dass ein Fiat Panda schneller ist als ein Ferrari, weil der Zigarettenanzünder schneller heiss ist. ;-)

kunstlust
Beiträge: 30
Registriert: Fr 29. Jun 2012, 09:36

Re: Geschwindigkeit ist nicht alles...

Beitrag von kunstlust »

Aber der Zigarettenanzünder ist ein schöner Vergleich, mir ist schon klar das der Mac nur schöner ist, aber nicht schneller und ich glaube wir sollten es dabei belassen, ich sehe es ja ein :-(
Zuletzt geändert von kunstlust am Fr 15. Feb 2013, 17:59, insgesamt 1-mal geändert.

kunstlust
Beiträge: 30
Registriert: Fr 29. Jun 2012, 09:36

Re: Geschwindigkeit ist nicht alles...

Beitrag von kunstlust »

Nebenbei auf meine Notebook mit einer Core2Dou CPU 2500 wie im Mac, ist es deutluch langsamer.... aber ich habe verstanden, das der Test nichts Aussagt. :oops:

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Geschwindigkeit ist nicht alles...

Beitrag von marcov »

kunstlust hat geschrieben:program counter;
var t:longint;
begin
for t := 1 to 40000000 do begin
writeln(t);
end;
readln;
end.
 [/code]


Benchmarking vom textueller I/O soll immer settextbuf benutzen.

Pascal hat standard ein minimalistischer Text I/O Puffer (128bytes). Wenn man mehr als ein paar MB I/O macht, soll man mit Settextbuf ein groessere Puffer einbinden. 4096, 8192,16384 sind typische Werten, grosser hat kaum Zweck.

Antworten