![]() |
32bit- vs. 64bit-Software - Vorteile/Nachteile
Delphi Starter hat nur einen 32bit-Compiler. Der 64bit-Compiler kostet eine Stange mehr Geld.
Ich habe heute das hier in einem meiner Projekte gefunden:
Delphi-Quellcode:
{IMAGE_FILE_LARGE_ADDRESS_AWARE}
- Bringt das irgendetwas bei 32bit-Programmen? - Haben 64bit-Softwareprogramme (Windows) überhaupt irgendwelche Vorteile? |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
Alle Jahrzehnte wieder die gleiche Diskussion. Zumindest haben 64-Bit-Programme einen größeren verfügbaren Speicherbereich als mit 32. |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Der erste und unmittelbare Vorteil von 64Bit gegenüber 32 ist der größere Adreßraum. Deine Anwendung darf größer sein und kann größere Datenmengen ohne Klimmzüge verarbeiten.
Danach kommen Themen wie Befehlssätze, die nur unter 64Bit Architekturen zur Verfügung stehen etc. Ob die aber Delphirelevant sind, kann ich nicht beurteilen. Sherlock |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Wie hoch sind denn die Limits von 32bit und, noch viel wichtiger, lohnt sich 64bit denn überhaupt?
Weil gefühlt 75% aller von mir genutzter Software ist 32bit und nicht 64bit. Lohnt sich 64bit bei normalen Softwareprogrammen erstellt mit Delphi überhaupt? |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zum Flag:
![]() Ansonsten: Was machen deine Software-Projekte? So im Allgemeinen? Machst du viel mit Daten im RAM rum? Bildbearbeitung? Videostreaming? Arbeitest mit großen Matrixen? Irgendwas speicherintensives? Oder schubst ihr nur Dateien von A nach B? Schreibt ihr Windows-Services/-Dienste? Letztere müssen auf einem 64-Bit Windows natürlich auch 64-"Bittig" sein. |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Hallo,
2^32 = 4 GB. Real nutzbar sind aber eher 1.6 bis 2 GB (bei Delphi eher 1.4 GB). Ob du das brauchst, musst du selber wissen. |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Kann man irgendwie mit ein paar Zeilen den Arbeitsspeicher für den eigenen Prozess vollmüllen, sodass man das testen kann?
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Das weiß ich. Aber ein Programm mit >50.000 Zeilen wird ein wenig mehr machen als eins mit nur 500.
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Hacke doch mal ein Konsolenprogramm und führe mal als 32-Bit und mal als 64-Bit aus.
Delphi-Quellcode:
program Project3;
{$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Classes; var List: TList; Ptr: Pointer; I: Integer; const LIMIT = 4 * 1024 * 1024; SIZE = 1024; begin try List := TList.Create; for I := 0 to LIMIT - 1 do begin Ptr := GetMemory(SIZE); List.Add(Ptr); end; for I := 0 to List.Count - 1 do begin FreeMemory(List.Items[I]); end; List.Free; except on E: Exception do begin Writeln(E.ClassName, ': ', E.Message, ': ', I.ToString); Readln; end; end; end. |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Ich habe es schon mehrfach geschafft, in meinen Programmen ein Out of Memory zu bekommen. Nicht wegen eines Programmierfehlers sondern einfach, weil die zu verarbeitenden Daten richtig gross waren. Und es wird immer schlimmer. Man kommt sich schon fast wieder vor wie zu DOS-Zeiten, wo man statt Daten im Speicher zu verarbeiten mit Klimmzügen dafür gesorgt hat, dass nur soviel geladen wurde, wie notwendig war. XML-Dokumente sind im Moment das größte Problem, weil die häufig mehrfach im Speicher landen: Als Text, als DOM und dann ggf. nochmal als interne Struktur. Und einige 100 MB Dateigröße sind bei den Dingern inzwischen keine Seltenheit mehr, denn "Speicher kostet ja nichts mehr". 64 Bit Programme könnten das Problem zumindest zum Teil lösen.
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Eine handvoll riesige Gerätekontexte erstellen oder MemoryStreams befüllen kann ich auch mit zwei bis drei Zeilen.
Oder ich schreibe weit über 50.000 Zeilen für ein Programm (mein derzeit größtes Projekt, yat.qa), das nie mehr als 20 MiB Speicher frisst. Wir sind mit Delphi in einer Situation, dass VCL im Vergleich zu den allermeisten anderen Frameworks wenig Speicher braucht. Man vergleiche Qt, aber FMX wird auch richtig reinhauen. Zeilen sind einfach komplett egal. Frage dich: Was sind meine Eingangsdaten (Bilder, XML, Verarbeitung kleiner Textschnipsel, Datenbanken in meinem Programm, Datenbanken extern via TCP usw.), wie viel (mengenmäßig) können Nutzer maximal (gleichzeitig) machen (z.B. MDI oder SDI) usw. |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
- 2137113 KB Mit {$SETPEFLAGS IMAGE_FILE_LARGE_ADDRESS_AWARE}: 4174047 KB 64bit kann ich mit Delphi Starter nicht testen. Aber ich denke es wird sich irgendwo im 4GB-Bereich aufhalten. Jetzt frage ich mich: wofür 64bit, wenn man mit
Delphi-Quellcode:
auch 4GB beanspruchen kann?
{$SETPEFLAGS IMAGE_FILE_LARGE_ADDRESS_AWARE}
Bei normalen nicht-wissenschaftlichen Programmen sollte 32bit doch ausreichen. Oder ist Office-Software heute schon 64bit? |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
Mach das mal mit einer 32 Bit Anwendung die 64 Bit Treiber verwenden möchte. gruss |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Ja ok ist in Ordnung. Ich hab mich geirrt. Ist ja aber auch egal.
Was mich interessiert ist gerade, ob z.B. Office-Software für Angestellte eher 32bit oder 64bit ist? Alles nicht-wissenschaftliche Software. Rechnungen erstellen oder sonstiges. Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Sobald Abhängigkeiten zu Fremdsoftware bestehen (nicht COM-Dlls; Treiber usw.) wird es schwierig, wenn diese nicht in der benötigten Bitigkeit bereitstehen. Gilt in beide Richtungen. Willst Du z.B. (COM-)Erweiterungen für Office erstellen geht das nur unter 32-Bit (da nur die 32-Bit Version für Office diese unterstützt). Liegt eine Fremdbibliothek nur für 64Bit vor ist es umgekehrt.
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Seit der Compiler 64 Bit kann, versuche ich meine Anwendungen immer mal auch in 64 Bit zu übersetzen bzw. anzupassen.
Das klappt mit GUI-Dialogen und eigenen Datenstrukturen ganz gut. Unterschiede gibt es bei hardwarenahen Routinen, die z.T. aus ASM-Blöcken bestehen - die musste ich für 64 Bit in nativem Delphi nachbauen oder ich müsste 64 Bit Assembler lernen, wobei ich 32 Bit Assembler kaum beherrsche. Ich pflege aber hauptsächlich 32 Bit Apps, schon weil es einige Anwender mit 32 Bit Windows 7 Rechnern noch gibt (Mindestens bis Ende 2019, wenn der Support für Windows 7 Endet, wird das wohl auch so bleiben) denn diese Art von Rechnern genügt noch für Office-Anwendungen. Wenn jemand kein Hobby-Nutzer eines Rechners ist, sondern nur kommerziell Office-Anwendungen benötigt, dann kauft man sich nicht - nur weil es sie gibt - einen neuen Rechner. Wäre wirtschaftlich nicht klug! Somit: Bleib bei 32 Bit, bis Du an eine Grenze stößt! Die erwähnten Treiberzugriffe könnten eine solche Grenze sein, oder die Größe von Datenstrukturen. Rechner aber damit, dass eine 64 Bit Version mehr Arbeit ist, als ein Neu-Übersetzen des Codes. Gruß Björn |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Mit COM usw. habe ich nix am Hut :P Mit Office meinte ich eigentlich Bürosoftware, nicht MS-Office.
Nochmal anders gestellt die Frage: was wird eher in normalen Firmen (also nicht SAP usw) zur Datenverarbeitung (Rechnungen erstellen und bla): 32- oder 64bit-Software? Zitat:
Edith sagt sie hat gerade ein großes Projekt seine Arbeit machen lassen. Der Taskmanager zeigt: Arbeitsspeicher 325 MB, Max. Arbeitsspeichersatz 470 MB. Der Test war einfach: ich bin eine liste mit 500.000 Dateien durchgegangen und habe zu jedem ein Class-Object erstellen lassen (ich glaube class, kann aber auch ein Record sein). Jedes Class-Object hat einige Variablen und auch Typen. Zum Schluss wird eine Dateiliste ausgegeben. Um auf 3,5 GB zu kommen müsste noch einiges passieren. Für mich lohnt sich 64bit somit denke ich nicht. |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Ich auch nicht. Nur ganz normale Software. Keine Dienste, keine Apps.
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Ich meinte eher: Auf einem 64Bit System können auch 32Bit Services laufen.
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Ist meine Behauptung richtig?
Wenn man nur >=2 GB an Speicheradressierung möchte und
Delphi-Quellcode:
einsetzt, kann man sich die Delphi Pro-Lizenz sparen (?)
{$SETPEFLAGS IMAGE_FILE_LARGE_ADDRESS_AWARE}
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Ich denke mal du bist kein professional im sinne von das du mit deiner Software Geld verdienst.
Wenn dem nicht so ist das du Geld damit verdienen must. Stellt sich nicht die frage ob du 64 Bit brauchst sondern ob deine Partner\Auftragsgeber es brauchen. Ansonsten schließe ich mich Alallart an. gruss |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
Wenn ja, bin ich mir nicht sicher, ob ihr überhaupt Software mit der Starter entwickeln dürft, die ihr innerbetrieblich nutzt oder außerbetrieblich verkauft. Da wissen andere gewiss mehr zu:!: |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
- 16 statt 8 GPR Register (davon profitieren fast alle Algorithmen) - 64-Bit Register (ENORMER Performance-Vorteil, wenn man tatsächlich mit 64-Bit Werten rechnet) Gibt natürlich auch Nachteile wie z.b. dass der Grundspeicherverbrauch einer Anwendung tendenziell erstmal steigt, da z.b. alle Zeiger jetzt auch 64- statt 32-bit breit sind. Grundsätzlich kann man aber sagen, dass sowohl Speicher- als auch Performancevorteile nur für sehr rechenintensive Anwendungen bzw. vielleicht noch für Datenbanksysteme etc. wirklich relevant sind. Normale Office-Software langweilt die CPU in den meisten Fällen eh, so dass du als Benutzer gar nicht mitbekommst, ob deine Aktion jetzt 5 oder 10 Nanosekunden dauert :P |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Performance ist auch immer so 'ne Sache. Mit XE2 x64 war RedeemerSVG etwa 60% langsamer (60% mehr Zeit) als mit XE2 x86. Das Teil verarbeitet Strings und ruft GDI-Funktionen auf. Es rechnet zumeist mit Extended-Werten.
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
Du darfst auch ruhig nach "IMAGE_FILE_LARGE_ADDRESS_AWARE" googlen. :shock: |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Hmm..
Ich hab da auch in Erinnerung, dass selbst Microsoft aus 'Kompatibilitätsgründen' empfiehlt, bei MS-Office die 32Bit-Version zu installieren, auch auf einem 64Bit Windows! Ich progge (auch professionell) nur 32Bit Anwendungen und Dienste.. Außer (mal Testweise) für ein Explorer Plugin auf einem 64Bit-Windows, jedoch muss mann dann beide, sowohl 32Bit, wie auch 64Bit erstellen, da einige auf dem Explorer basierende Dialoge von 32Bit Apps eben die 32bit-Version vom Explorer verwenden und dieser dann auch die 32Bit Plugins braucht. ;) Wenn du somit (wie bereits mehrfach hier geschrieben) nicht mit Datenmengen im GB Bereich hantierst oder mit 64Bit-Treibern/DLLs, dann kannst Du getrost bei 32Bit bleiben. |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Mit Datenmengen im GB Bereich hantiere ich schon recht häufig.
|
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Hmm..
Zitat:
Am Stück im Arbeitsspeicher (nicht in einer Sequentiell gelesenen DB)? |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Und noch ein Aspekt:
Läuft das Programm in einem 32 Bit-Windows, dann geht nur ein 32 Bit-Programm. Und wenn ein 32-Bit-Programm in einem 64-Bit-Windows läuft, dann läuft das im 32-Bit-Subsystem des Windows, also alle viele API-Aufrufe werden auf Systemebene erstmal auf 64-Bit umgewandelt und da dann ausgeführt. (da läuft dann ein 64-Bit-Programm natürlich ein klein bissl optimaler) Zitat:
Im Virtual-Memory der anwendung liegen überall DLLs, Stacks und Programmspeicher rum und es wird schwer große Stücken zusammenhängenden Speicher zu finden. In 2GB mit viel freien Bereichen kann man damit rechnen, dass bei etwa 700MB Schluß ist. In einem 64 Bit-Virtual-Memory ist das alles mehr verteilt und es ist sehr wahrscheinlich, dass du dennoch eine freie Fläche für mehrere zusammenhängende GB frei hast. PS: Viele Smartphones haben 64 Bit drin, obwohl der gesamte RAM oftmals nur 1 bis 4 GB ist. 32 Bit würden also vollkommen ausreichen, aber die Vorteile der 64 Bit sind nicht zu unterschätzen. Ohne ein 32 Bit Subsystem würde das OS dann auch viel kleiner, wartungsärmer und fehlerunanfälliger sein. (weniger drin, was auch noch kaputt gehn kann) |
AW: 32bit- vs. 64bit-Software - Vorteile/Nachteile
Zitat:
Ich hätte auch gerne einen neuen Porsche, habe schlieslich mal einen gebrauchten Polo gefahren? Diese Geiz ist Geil Mentalität geht mir echt auf den .... Entschuldigt bitte aber das ist echt zum k..... Ich bin bestimmt kein Fan der aktuellen Preise bei Embarcadero, aber mit der Starter machen Sie schon etwas richtig. Das musste ich loswerden, bin aber raus hier |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 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