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

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

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

Beitrag 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?
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

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

Beitrag 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". :)
Zuletzt geändert von 7x7 am 24.01.2013 11:00, insgesamt 2-mal geändert.
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

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

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

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

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

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

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Didelphodon
Beiträge: 360
Registriert: 18.12.2004 13:03
Wohnort: Wien
Kontaktdaten:

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

Beitrag 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.
Das Leben ist ein sch*** Spiel, aber die Grafik ist irre!
Fighting for peace is like fuc*ing for virginity!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

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

Beitrag 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.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

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

Beitrag 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?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

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

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

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

Beitrag 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.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Antworten