Autor Beitrag
Hochhaus
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 662
Erhaltene Danke: 8

Windows 7
Delphi XE2
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 42
Erhaltene Danke: 21



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 662
Erhaltene Danke: 8

Windows 7
Delphi XE2
BeitragVerfasst: Mi 22.01.14 16:27 
user profile iconLelf hat folgendes geschrieben Zum zitierten Posting springen:

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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mi 22.01.14 17:13 
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 662
Erhaltene Danke: 8

Windows 7
Delphi XE2
BeitragVerfasst: Mi 22.01.14 17:20 
user profile iconLelf hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 42
Erhaltene Danke: 21



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 662
Erhaltene Danke: 8

Windows 7
Delphi XE2
BeitragVerfasst: Mi 22.01.14 17:36 
user profile iconLelf hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 662
Erhaltene Danke: 8

Windows 7
Delphi XE2
BeitragVerfasst: Mi 22.01.14 19:04 
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:


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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 662
Erhaltene Danke: 8

Windows 7
Delphi XE2
BeitragVerfasst: Mi 22.01.14 19:16 
user profile iconjfheins hat folgendes geschrieben Zum zitierten Posting springen:
könnte es multithreaded wesentlich flotter laufen.


Es ist nur sehr schwierig, den Algorithmus auf mehrere Kerne zu verteilen.


Hochhaus
Hochhaus Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 662
Erhaltene Danke: 8

Windows 7
Delphi XE2
BeitragVerfasst: Mi 22.01.14 19:22 
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: 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

ausblenden volle Höhe Delphi-Quelltext
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:
//gespeichert unter sqrt2gmp.dpr
program sqrt2gmp;
{$IFdef fpc}
  {$MODE Delphi}
{$ELSE}
  {$APPTYPE CONSOLE}
{$ENDIF}

// Wurzel 2 im Heronverfahren für cDigits Dezimalstellen
// Ausgabe mp_printf funktionierte unter linux64 mit 32bitlibs nur bis 8192 Zeichen
// Unter Windows kein Problem
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); // 2 im Dualsystem
  mpq_set(a,die2);
  mpq_set(Naeherung,die2);
  n := round(ln(cDigits*(2-sqrt(2))/sqrt(2))/ln(2)+1)+1;
  cnt := n;
  repeat
//   Naeherung := ( a / Naeherung+Naeherung) / die2 ;
    mpq_div(erg,a,Naeherung);           //  a/x
    mpq_add(Naeherung,erg,Naeherung);   //  a/x+x
    //Statt Mul shiften um n=1 Bit, ob das wirklich heutzutage noch schneller ist?
    mpq_div_2exp(Naeherung,Naeherung,1);// x = (a/x+x)/2
    dec(cnt);
  until cnt<0;
  //Jetzt in Fliesskommazahl umwandeln
  mpf_init2(f,round(cDigits/0.30103));// cDigits dezimalen  = 100000/ log10(2) = 33219?.???

  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);
//    gmp_printf(PAnsiChar(buf), '%.*Ff ',@f,cDigits);
  {$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:
ausblenden 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 user profile iconGammatester mparith oder hier mit gmp
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 429
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 8

Win XP
D5 Prof, C# Express 2005
BeitragVerfasst: Do 23.01.14 10:15 
AMD 64 X2 6000+, 2GB RAM => 5,687 sec.

Für diesen Beitrag haben gedankt: Hochhaus
Hochhaus Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 662
Erhaltene Danke: 8

Windows 7
Delphi XE2
BeitragVerfasst: Do 23.01.14 14:02 
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Do 23.01.14 14:21 
user profile iconHochhaus hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:
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


Ich rate jetzt mal : 8 GB Arbeitsspeicher :lupe:

Oder meinst es handelt sich evtl. um Chinesenkram?