![]() |
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
Aber als Linuxer muss man Google weit aus mehr befragen, als ein Windows-User :mrgreen:
|
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
Zitat:
Liebe Grüße, Valle |
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
Hallo,
es gibt doch noch das shootout Spiel: 64-Bit: ![]()
Code:
32-Bit:
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 ![]()
Code:
64-Bit ist langsamer, es wird ja auch die doppelte Datenmenge bewegt.
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 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 |
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
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. ![]() 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. |
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
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. |
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
Zitat:
Zitat:
|
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
Hi,
auch mal was sagen... Zum Thema 32-Bit-Programm mit mehr als 2 GB (in die DPR):
Delphi-Quellcode:
Achtung: Der Standard-Memorymanager von Delphi < 2006 rechnet mit Vorzeichen!
{$SetPEFlags $20} //IMAGE_FILE_LARGE_ADRESS_AWARE
Zum Thema Adressraum: Unter 64-Bit ist physikalische = logische Adresse. Speichersegmentierung gibt es nicht mehr. Gruß FAlter |
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
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.
|
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
Zitat:
|
Re: Geschwindigkeitsvorteil 64 ggüb. 32 Bit - woran ermittel
Hallo,
![]() 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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz