AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermitteln?
Thema durchsuchen
Ansicht
Themen-Optionen

Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermitteln?

Ein Thema von Delphi-Laie · begonnen am 18. Jan 2010 · letzter Beitrag vom 13. Nov 2011
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#11

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 18. Jan 2010, 21:02
Aber als Linuxer muss man Google weit aus mehr befragen, als ein Windows-User
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#12

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 18. Jan 2010, 21:06
Zitat von s.h.a.r.k:
Aber als Linuxer muss man Google weit aus mehr befragen, als ein Windows-User
Das mag sein, aber ich war mir eigentlich recht sicher, dass himitsu was anderes meinte, deswegen hielt ich das nicht für nötig. Außerdem wollt' ich auch mal bisschen klugscheißen, ja?

Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Horst_

Registriert seit: 22. Jul 2004
Ort: Münster Osnabrück
116 Beiträge
 
#13

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 18. Jan 2010, 21:40
Hallo,

es gibt doch noch das shootout Spiel:
64-Bit:
http://shootout.alioth.debian.org/u6...p?lang=fpascal
Code:
Program     N    CPU secs   Elapsed secs   Memory KB   Code B
binary-trees     12   0.13   0.13   ?   769
binary-trees     16   2.06   2.08   7,192   769
binary-trees     20   44.93   44.93   131,420   769
32-Bit:
http://shootout.alioth.debian.org/u3...p?lang=fpascal
Code:
Program    N    CPU secs   Elapsed secs   Memory KB   Code B
binary-trees     12   0.10   0.11   ?   769
binary-trees     16   1.60   1.60   4,176   769
binary-trees     20   36.44   36.44   65,684   769
64-Bit ist langsamer, es wird ja auch die doppelte Datenmenge bewegt.
Wenigstens ist 64-Bit bei k-nucleotide 25,000,000 wirksam/ ohne Fehler im Ablauf.

Ein Vorteil von 64-Bit ist der Umstand, dass die 1 Gbyte Grafikkarte Dir nicht den Hauptspeicher um diese Größe eindampft, weil nun in einem Adressbereich oberhalb 4 GByte liegen kann, jedenfalls waren bei mir 3,9 Gbyte frei statt 3,5 Gbyte (ja nur eine kleine Grafikkarte ).
Programmtechnisch könnten die 8 zusätzlichen CPU-Register etwas beschleunigend wirken, wenn die Kompiler das auch nutzt und auch alle Daten schön aligned ausrichtet sind.

Gruß Horst
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 18. Jan 2010, 21:47
Also unter 32-Bit kann man 2^32 Adressen ansprechen und das sind 4294967296 Stück. Mehr Speicher kann ein 32-Bit OS nicht verwalten. Unter Windows hat jeder Prozess seinen eigenen, geschützten Adressraum. Dieser ist genau 2^32 GB groß. Da aber ein Prozess nicht aus seinem Adressraum so einfach rauskommt, er aber natürlich die Betriebssystemfunktionen braucht, werden diese in seinen Adressraum eingeblendet. Dem Betriebssystem steht dazu die Hälfte des Adressraumes zu: 2GB. Demzufolge kann ein Prozess über die restlichen 2GB frei verfügen. Mit einem Schalter kann man den frei verfügbaren Adressraum für einen Prozess auf 3GB vergrößern. Dies ist aber nicht zu empfehlen, da dann für das Betriebssystem nur noch 1GB übrig bleiben.

So, womit ich mich noch nicht beschäftigt habe, ist wie der Adressraum und dessen Verwaltung unter 64-Bit aussieht. Wenn ich da mal was gescheites zu lesen finden würde im Internet oder so, wäre das eine schöne Sache. Sehe gerade ist genauso: halbe/halbe. 16TB davon 8TB für das Betriebssystem und 8TB für den Prozess.
http://msdn.microsoft.com/de-de/library/bb978906.aspx

Was jetzt interessant wäre bei der Geschwindigkeit: Ist das gleiche Programm einmal als 64-Bit unter einem 64-Bit OS schneller als 32-Bit unter einem 32-Bit OS.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 18. Jan 2010, 22:14
Es ist eigentlich nebenwirkungsfrei einem 32-Bit Prozess (hier D6 mit FastMM) per Compilerflag eine 3GB-Adressierung zu ermöglichen. Was problematisch ist, in einem 32-Bit Windows diese Adressierung freizuschalten, da es genügend HW-Treiber für Win32 gibt die damit nicht klar kommen.

Für uns war mal dieser Schalter die einzige Möglichkeit ein Problem per Hotfix zu lösen. Normalerweise lassen wir aber das Programm mit max. 2GB laufen. Selbst bei größeren DB's im 2stelligen GB-Bereich kommt unsere Programm sehr selten über 100-200 MB Speichernutzung.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 18. Jan 2010, 22:17
Zitat von Bernhard Geyer:
per Compilerflag eine 3GB-Adressierung zu ermöglichen.
Dann muss aber auch Windows mit dem entsprechenden Flag gestarte werden:
Zitat:
Virtual Address Space für 32-Bit-Prozesse: 2GB (3 GB, wenn das System mit Option /3GB gestartet wurde)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#17

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 18. Jan 2010, 22:23
Hi,

auch mal was sagen...

Zum Thema 32-Bit-Programm mit mehr als 2 GB (in die DPR):
{$SetPEFlags $20} //IMAGE_FILE_LARGE_ADRESS_AWARE Achtung: Der Standard-Memorymanager von Delphi < 2006 rechnet mit Vorzeichen!

Zum Thema Adressraum:
Unter 64-Bit ist physikalische = logische Adresse. Speichersegmentierung gibt es nicht mehr.

Gruß
FAlter
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 18. Jan 2010, 22:28
Speichersegemente gab es auch unter 32-Bit nicht mehr. der Adressraum ist linear ansprechbar. Nur gibt es unter 64-Bit keinen virtuellen Adressraum mehr, deswegen gilt, wie du sagst physikalische Adresse = logische Adresse.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 19. Jan 2010, 08:14
Zitat von FAlter:
Achtung: Der Standard-Memorymanager von Delphi < 2006 rechnet mit Vorzeichen!
Könnte sein. Da wir aber seit Jahren auf FastMM angewiesen sind (Fragmentierungsproblem des alten Speichermanagers) ist uns das nicht aufgefallen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Horst_

Registriert seit: 22. Jul 2004
Ort: Münster Osnabrück
116 Beiträge
 
#20

Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel

  Alt 19. Jan 2010, 09:53
Hallo,

www.ece.neu.edu/students/dye/papers/iiswc06.pdf zeigt einen Vergleich von 64-Bit/32-Bit in der Anwendungsperformance und die Gründe für die Vor/Nachteile.
Wenn viel FPU Rechnerei vorliegt und/oder viele Register von Vorteil sind -> 64-Bit.
Die meisten Anwender werden nicht über mehrere Gigabyte gleichzeitig verarbeiten müssen, aber wer weiß, es reichen ja 640 kByte

Gruß Horst
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     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 06:48 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