64 Bit schneller als 32 Bit

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

64 Bit schneller als 32 Bit

Beitrag von AUGE_OHR »

hi,

ich habe eine App die mit Array arbeitet und trianguliert ( COS() )
für 1000 Points mit ca. 2.000.000 Kalkulationen benötigt Xbase++ ca. 333 Sec.

wenn ich den CLASS Code unter "C" ( harbour / BCC 5.83 ) laufen lasse benötigt die 32 Bit App ca. 90 Sec.
nun hab ich alles auf 64 Bit umgestellt und der selbe Code braucht nur 45 Sec. :D

Frage : warum ist eine 64 Bit App doppelt so schnell wie die 32 Bit App :?:

p.s. die 2 GB werden dabei längst noch nicht erreicht
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: 64 Bit schneller als 32 Bit

Beitrag von georg »

Hallo, Jimmy -


einfach mal aus dem hohlen Bauch: weil 32 bit emuliert werden von der 64 bit Hardware? Daher kann das m.E. nicht schneller sein, da die Emulation ja Leistung braucht, die der Programmausführung verloren geht.

Es kann aber auch an anderen Faktoren liegen, solche Messungen sind auf einem Multitasking-System nicht ganz ohne, da man nur eingeschränkten Einfluss hat, was parallel noch alles läuft.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: 64 Bit schneller als 32 Bit

Beitrag von AUGE_OHR »

hi,

das die 32 Bit Emulation Zeit kostet war klar, aber so viel :?:

ich habe das Sample nach 64 Bit gebracht weil ich mit viel grösseren Arrays arbeiten wollte.
da ich bei dem Source kein 3-PP oder DllCall sondern nur CLASS Code habe war die Umstellung schnell getan.

das Ergebniss 90 Sec zu 333 Sec. "genügte" mir. um so überraschter war ich als die 64 Bit App nur 45 Sec. brauchte. :shock:
nun arbeite ich nur mit ASCAN() / AADD() und COS() aber rund 2.000.000 Durchläufe

---

ich habe die harbour Apps mit MT=No laufen.

es gibt relative wenig Grafik Ausgabe oder sonstige I/O Sachen worum man sich "zusätzlich" kümmern muss.
mit MT=Yes läuft diese App deshalb ca. 10% langsamer (aber immer noch 300% schneller als die Xbase++ App )

wenn ich die 32 Bit und die 64 Bit App gleichzeitig starte dauert jede einzelne ca. 10 % länger ( 100 / 50 Sec)

---

Nachtrag : im Original Xbase++ Code hatte ich eine eigene COS() Function ... weil ich nicht die Tools verwenden wollte
nun habe ich es noch mal ausprobiert und benötigte 325 Sec. mit XBTBASE1.LIB / XBTBASE2.LIB ... da hätte ich bei 2.000.000 doch mehr erwartet von der Lib
gruss by OHR
Jimmy
Antworten