Autor |
Beitrag |
Hochhaus
Beiträge: 662
Erhaltene Danke: 8
Windows 7
Delphi XE2
|
Verfasst: Mi 22.01.14 15:43
Hallo allerseits !
das Quadratwurzelprogramm in der Beilage frisst enorm Ressourcen. Und da bitte ich um Eure Mithilfe: Würdet Ihr bitte die Quadratwurzel aus 2 auf 10'000 Nachkommastellen von Euren PC's berechnen lassen, und das Ergebnis (Zeit in sec.) hier posten ? Natürlich mit Angabe des Prozessors und der Taktfrequenz.
Besten Dank für Eure Mithilfe !
Dies hilft, den besten Mathe-Rechner ausfindig zu machen.
Hochhaus
Mein Ergebnis: Core 2 Duo 2.93 GHz: 4.638 sec.
Einloggen, um Attachments anzusehen!
|
|
Lelf
Beiträge: 42
Erhaltene Danke: 21
|
Verfasst: Mi 22.01.14 16:09
Ergebnis von sqrt(2) 10'000 Stellen: 2,953 sec.
CPU: Intel Core i7 3770K @ 3.50GHz Ivy Bridge 22nm Technologie
RAM: 8,00GB Dual-Kanal DDR3 @ 800MHz
Am Ende kommt eine Fehlermeldung: "Dateizugriff verweigert". Damit fange ich nichts an.
Gruß Lelf
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Mi 22.01.14 16:23
Hallo,
5,242 sec. auf AMD Phenom II X955 3.2 Ghz mit 4 Gb Speicher.
11 Mb während der Ausführung im Taskmanager. Läßt sich nicht stoppen.Auch Dateizugriffsfehler.
Gruß Horst
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Hochhaus
Beiträge: 662
Erhaltene Danke: 8
Windows 7
Delphi XE2
|
Verfasst: Mi 22.01.14 16:27
Lelf hat folgendes geschrieben : |
Am Ende kommt eine Fehlermeldung: "Dateizugriff verweigert". Damit fange ich nichts an.
Gruß Lelf |
Das Proggi versucht, das Ergebnis im Verzeichnis der EXE-Datei zu speichern. Je nach Zugriffsmöglichkeiten kommt dann dieser Fehler - z.Bsp. auch, wenn es ab CD läuft.
Hochhaus
|
|
Marc.
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Mi 22.01.14 17:13
Horst_H hat folgendes geschrieben : | 5,242 sec. auf AMD Phenom II X955 3.2 Ghz mit 4 Gb Speicher. |
Ich hätte es gar nicht mehr ausführen müssen. Wir haben im Grunde die gleichen CPUs, die Algorithmus-Laufzeit skaliert sehr gut mit dem Takt:
AMD Phenom II X4 945 4x 3GHz 8GB RAM: 5.538s
und um 600 MHz übertaktet: 4.633s
3.6/3 ~ 5.538/4.633 ~ 1.2
Gruß Marc
Zuletzt bearbeitet von Marc. am Mi 22.01.14 17:21, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Hochhaus
Beiträge: 662
Erhaltene Danke: 8
Windows 7
Delphi XE2
|
Verfasst: Mi 22.01.14 17:20
Lelf hat folgendes geschrieben : | Ergebnis von sqrt(2) 10'000 Stellen: 2,953 sec.
CPU: Intel Core i7 3770K @ 3.50GHz Ivy Bridge 22nm Technologie
Gruß Lelf |
Ok. Du hast ganz offensichtlich die beste CPU bis jetzt ! Ich bin mal gespannt, was die weiteren Ergebnisse sind ...
|
|
Lelf
Beiträge: 42
Erhaltene Danke: 21
|
Verfasst: Mi 22.01.14 17:26
Hallo Hochhaus,
Du hast recht: Wenn man die entpackte EXE in ein anderes Verzeichnis kopiert wird das Ergebnis im Protokoll angezeigt, sowie als Wurzel.Doc-Datei auf die Festplatte geschrieben. Aber warum doppelt?
Gruß Lelf
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Hochhaus
Beiträge: 662
Erhaltene Danke: 8
Windows 7
Delphi XE2
|
Verfasst: Mi 22.01.14 17:36
Lelf hat folgendes geschrieben : | Aber warum doppelt?
Gruß Lelf |
Damit man das Ergebnis optisch sofort sieht und man es nicht per Copy + Paste selbst in eine Datei kopieren muss .
Hochhaus
|
|
jfheins
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: Mi 22.01.14 18:43
Ich habe das gerade mal auf mehreren Rechnern ausprobiert. Leider lastet es nur einen Kern aus, gerade auf dem letzten könnte es multithreaded wesentlich flotter laufen.
Alle Zeiten für 10k Stellen:
AMD E2-1800: 11,89 sec
Intel XEON E3-1240: 3,31 sec
Dual Intel XEON E5-2643 @ 3,3GHz : 3,87 sec (braucht 34,9 sec. für 30k Stellen)
Zuletzt bearbeitet von jfheins am Mi 22.01.14 19:11, insgesamt 2-mal bearbeitet
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Mi 22.01.14 18:44
Hallo,
ich teste nochmal meinen neuen i4330 3.5 Ghz 8 GB ( 1833 Mhz ? ) der braucht für 10000 Stellen 4,188 sec Linux/wine ( Pentomino ist unter wine schneller )
Haswell hin oder her, jetzt bin ich enttäuscht.
Gruß Horst
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Hochhaus
Beiträge: 662
Erhaltene Danke: 8
Windows 7
Delphi XE2
|
Verfasst: Mi 22.01.14 19:04
Horst_H hat folgendes geschrieben : |
Haswell hin oder her, jetzt bin ich enttäuscht.
Gruß Horst |
Sehr wahrscheinlich wäre es ohne Linux - direkt unter Windows - schneller. Vermute ich.
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Mi 22.01.14 19:15
Hallo,
ich habe nur linux/wine benutzt und wie geschrieben, pentomino ist unter wine schneller.
Das Programm läuft ja ohne Bildschirm und Dateiarbeit und damit ist die Interaktion mit der WinApi minimal.
Gruß Horst
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Hochhaus
Beiträge: 662
Erhaltene Danke: 8
Windows 7
Delphi XE2
|
Verfasst: Mi 22.01.14 19:16
jfheins hat folgendes geschrieben : | könnte es multithreaded wesentlich flotter laufen.
|
Es ist nur sehr schwierig, den Algorithmus auf mehrere Kerne zu verteilen.
Hochhaus
|
|
Hochhaus
Beiträge: 662
Erhaltene Danke: 8
Windows 7
Delphi XE2
|
Verfasst: Mi 22.01.14 19:22
Horst_H hat folgendes geschrieben : | Das Programm läuft ja ohne Bildschirm und Dateiarbeit und damit ist die Interaktion mit der WinApi minimal.
Gruß Horst |
Das Programm schreibt das Ergebnis in eine Datei. Allerdings ist dies eine eher kurze Angelegenheit. Mich würde es interessieren, wenn noch jemand anderes mit Haswell-Prozessor das Programm austesten würde. Unter Windows XP, Vista, 7 oder 8.
Könntest Du die simulierte Windows-Version unter Linux nicht ändern ?
Hochhaus
|
|
OlafSt
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: Mi 22.01.14 21:51
Hab meinen i5 mal damit gequält: 4,135 sec.
CPU ist ein Core-i5 2400 @ 3,2GHz Standard-Takt (Sandy-Bridge), 8GB DDR3-RAM.
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Do 23.01.14 00:47
Hallo,
ich dachte mir, Wurzel ziehen aus 2 mittels Heron Verfahren unter Einsatz von GMP müsste doch sehr simpel sein.
Mit freepascal unter linux64 ( da schwirrt ja libgmp sowieso herum, aber gpm.dll für Windows gibt es auch:
gmp-wrapper-for-delphi
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75:
| program sqrt2gmp; {$IFdef fpc} {$MODE Delphi} {$ELSE} {$APPTYPE CONSOLE} {$ENDIF}
uses sysutils, {$IFdef fpc} gmp; {$ELSE} gmp_lib; {$ENDIF}
const cDigits =100000; var T2,T1,T0: TDateTime; n,cnt : integer; a,Naeherung,erg,die2: mpq_t; f : mpf_t; buf : string; begin mpq_init(die2); mpq_init(a); mpq_init(Naeherung); mpq_init(erg); T0:= Time; try mpq_set_str(die2,'10',2); mpq_set(a,die2); mpq_set(Naeherung,die2); n := round(ln(cDigits*(2-sqrt(2))/sqrt(2))/ln(2)+1)+1; cnt := n; repeat mpq_div(erg,a,Naeherung); mpq_add(Naeherung,erg,Naeherung); mpq_div_2exp(Naeherung,Naeherung,1); dec(cnt); until cnt<0; mpf_init2(f,round(cDigits/0.30103)); mpf_set_q(f,erg);
T1:= Time; setlength(buf,cDigits+7); {$IFDEF FPC} mp_snprintf(PAnsiChar(buf),cDigits,'%.*Ff',cdigits,@f); {$else} gmp_printf(PAnsiChar(buf),'%.*Ff',cdigits,@f); {$endif} T2:= Time; writeln; writeln(buf); writeln( n,' Durchlaeufe'); Writeln('Rechenzeit ',FormatDateTime('NN:SS.ZZZ' ,T1-T0)); Writeln('Ausgabezeit ',FormatDateTime('NN:SS.ZZZ' ,T2-T1)); finally mpf_clear(f); mpq_clear(erg); mpq_clear(Naeherung); mpq_clear(a); mpq_clear(die2); readln end; end. |
der Rest der Ausgabe:
Quelltext 1: 2: 3: 4:
| ...4012197700603576101524970318470624937068864601669535559159840183770081805610147523 17 Durchlaeufe Rechenzeit 00:00.493 Ausgabezeit 00:00.158 |
Gruß Horst
Noch ein Edit, es gibt ja auch die Wurzelfunktion, noch wesentlich schneller siehe auch www.entwickler-ecke....ewtopic.php?t=109385 den Beitrag von Gammatester mparith oder hier mit gmp
Delphi-Quelltext 1: 2: 3: 4: 5:
| .. mpf_init2(f,round(cDigits/0.30103)); mpfset_ui(f,2); mpf_sqrt(f,f); .. |
Zuletzt bearbeitet von Horst_H am Di 28.01.14 14:09, insgesamt 2-mal bearbeitet
Für diesen Beitrag haben gedankt: Hochhaus
|
|
mandras
Beiträge: 430
Erhaltene Danke: 107
Win 10
Delphi 6 Prof, Delphi 10.4 Prof
|
Verfasst: Do 23.01.14 00:58
AMD Athlon II XE3 450 3,2GHZ Win 7 6GB Speicher
erster Start:5,226sec, zweiter: 5,241sec.
Für diesen Beitrag haben gedankt: Hochhaus
|
|
iKilledKenny
Beiträge: 394
Erhaltene Danke: 8
Win XP
D5 Prof, C# Express 2005
|
Verfasst: Do 23.01.14 10:15
AMD 64 X2 6000+, 2GB RAM => 5,687 sec.
Für diesen Beitrag haben gedankt: Hochhaus
|
|
Hochhaus
Beiträge: 662
Erhaltene Danke: 8
Windows 7
Delphi XE2
|
Verfasst: Do 23.01.14 14:02
Horst_H hat folgendes geschrieben : | Hallo,
ich teste nochmal meinen neuen i4330 3.5 Ghz 8 GB ( 1833 Mhz ? ) der braucht für 10000 Stellen 4,188 sec Linux/wine ( Pentomino ist unter wine schneller )
Haswell hin oder her, jetzt bin ich enttäuscht.
Gruß Horst |
Mein Programm rechnet nicht nur sehr intensiv - es braucht auch den Hauptspeicher sehr intensiv. Was hast Du denn für Hauptspeicher eingebaut ?
Hochhaus
|
|
baumina
Beiträge: 305
Erhaltene Danke: 61
Win 7
Delphi 10.2 Tokyo Enterprise
|
Verfasst: Do 23.01.14 14:21
|
|