Seite 1 von 4

Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 09:55
von DrShrek
Hallo möchte hiermit eine Diskusion anstossen:

Thema: 64bit Applikationen mit PureBasic programmieren:
1) Was bringt es wirklich?
2) Wer braucht das tatsächlich?

Mittlerweile empfiehlt selbst Microsoft, Applikationen (bis auf wenige Ausnahmen) unter Windows OS 64bit bevorzugt als 32bit Version zu entwickeln.

Gründe sind: Performance, wirklich benötigte Speicher oft < 3GB.

Wie ist eure Meinug/Erfahrung dazu?

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 10:06
von 7x7
Ich hatte bisher nur ein einziges mal den Bedarf für eine 64-Bit Programm-/Laufzeitumgebung wegen 11GB Speicherbedarf (habe deswegen extra einen Laptop auf 16GB-Ram aufgerüstet). Durch Tricks konnte ich später den Speicherbedarf auf unter 3GB drücken, so dass -wie ursprünglich geplant- die Sache auch auf 32-Bit Rechnern im Netz lief.

32-Bit ist halt unterster Level - "kann" jeder! Deswegen vermeide ich es auch, in meinen Programmen spezielle 64-Bit Register oder sonstiges zu benutzen. In 10 Jahren ist die Situation bestimmt eine Andere.

/Edit:
im übrigen schreibt man: Diskussion (doppel-ss); und wenn wir schon dabei sind - es heisst: "wer braucht das wirklich". :)

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 10:15
von RSBasic
Wenn man kleine Anwendungen schreibt, dann reicht 32 Bit völlig aus. Bei größeren Anwendungen, die auch viel Speicher in Anspruch nehmen, dann wäre eine 64 Bit-Version sinnvoller wie z.B. Konvertierung von Dateien (Bild, Video, Audio) oder auch Bearbeitungswerkzeuge, die auch größere Dateien verarbeiten sollen. Auch bestimmte Berechnungen, die viel Zeit benötigen, wäre 64 Bit sinnvoller.

Ich selbst hatte bisher keinen Bedarf, eine spezielle 64 Bit-Anwendung zu kompilieren, die auch notwendig war.

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 10:34
von ts-soft
Bei Treiberprogrammierung, Dateimanager, Systemtools, Programmen mit hohem Speicherbedarf.
Solange ich keine Abhängigkeiten benötige, die mir als 64-Bit Version nicht zur Verfügung stehen,
werde ich möglichst immer beide Varianten anbieten, unabhängig davon, ob da ein Unterschied
spürbar ist. So lange es keinen Grund gibt, nur virtualisierte 32-Bit Programme anzubieten, sollte
man immer auch 64-Bit anbieten.

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 11:02
von STARGÅTE
DrShrek hat geschrieben:1) Was bringt es wirklich?
Doppelte Geschwindigkeit beim Arbeiten mit Quads und Doubles, natürlich nur dann "spürbar", wenn man Zeitkritische Anwendungen/Include erstellt und halt einen größeren Adressenraum.
Außerdem bietet die 64-Bit-CPU einfach mal mehr Register an. Dadurch können bestimmte Berechungen weiter optimiert werden, kein Daten nicht auf dem RAM ausgelagert werden müssen (Bildverarbeitung, Hash, usw.)
DrShrek hat geschrieben:2) Wer braucht das tatsächlich?
Aktuell vielleicht nur ein kleiner Teil, aber würde man diese Frage bei jedem "Fortschirtt" stellen, würden wir immer noch mit den 8-Bit-CPUs von 1980 arbeiten, die zum Anzeigen von Zeichen vollkommen ausreicht.
Und genau so, wie du jetzt vllt über diesen Satz lachst, würst du in 10 Jahren auch über die 32Bit-CPU denken.

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 11:20
von Didelphodon
Für eine etwas differenzierte Sichtweise auf das Thema, empfehle ich mein White-Paper http://cert.at/downloads/papers/wow_effect_en.html.
Für diesbezüglich Interessierte gibts noch weiterführende Informationen auch das Thema Registry-Redirection betreffend in meinen Slides von der SANS Forensic Summit Prague 2012.

LG Didel.

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 13:14
von NicTheQuick
STARGÅTE hat geschrieben:
DrShrek hat geschrieben:1) Was bringt es wirklich?
Doppelte Geschwindigkeit beim Arbeiten mit Quads und Doubles...
Bei Doubles merkst du da keinen Unterschied. Die wurden vorher nicht mit 32-Bit-Floats simuliert, sondern waren auch schon direkt in Hardware da.

Ich brauche 64 Bit, weil mein Linux 64 Bit hat und ein 32 Bit Programm darauf nicht so einfach läuft. Und mein Linux hat 64 Bit, weil ich 4 GB RAM habe und den auch vollständig nutzen möchte.

Nachtrag:
Bei PB macht es sicherlich kaum einen Unterschied zwischen der 32 Bit und der 64 Bit Version, weil es nicht sonderlich darauf optimiert. Es nutzt dann eben statt simulierter Quads direkt das passende Register. Aber sonst fällt mir nichts ein, was PB da anders macht. Würde mich eigentlich auch mal interessieren.

Es wäre schön, wenn PB mal MMX, SSE, SSE2, SSE3, ... nutzen würde. Da würde man auch einen Geschwindigkeitszuwachs bemerken.

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 13:37
von RSBasic
NicTheQuick hat geschrieben:Es wäre schön, wenn PB mal MMX, SSE, SSE2, SSE3, ... nutzen würde. Da würde man auch einen Geschwindigkeitszuwachs bemerken.
Unter Compiler-Optionen kann doch sowas eingestellt werden oder ist das nur eine Scheineinstellung?

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 13:47
von ts-soft
RSBasic hat geschrieben:Unter Compiler-Optionen kann doch sowas eingestellt werden oder ist das nur eine Scheineinstellung?
Nein und Ja. Die Einstellung wirkt sich auf Libs aus, die dies unterstützen. Moment gibt es keine PBLib, die das tut und
UserLibs, die das können, zu mal die fast alle sowieso nur Tailbited sind, gibt es wohl auch nicht.

Die Einstellung hätte also eine Wirkung, wenn ... :mrgreen:

Mithilfe von Tailbite wäre folgendes denkbar, aber nicht getested, ob es tatsächlich unterstützt wird:

Code: Alles auswählen

ProcedureDLL bla()
EndProcedure
ProcedureDLL bla_UNICODE()
EndProcedure
ProcedureDLL bla_SSE2()
EndProcedure
Je nach Compileroption wird dann das entsprechende bla() genutzt, wobei man dann aber auch wirklich alle
Varianten implementieren müßte, also auch ProcedureDLL_bla_SSE2_UNICODE() usw.

Re: Diskusion: PureBasic 64Bit (wer braucht da wirklich?)

Verfasst: 24.01.2013 14:34
von DrShrek
7x7 hat geschrieben:/Edit:
im übrigen schreibt man: Diskussion (doppel-ss); und wenn wir schon dabei sind - es heisst: "wer braucht das wirklich". :)
Da haßt Du volkomen recht.