Wie bitte???ts-soft hat geschrieben:ASM wird bei diesen Beispielen wohl eher gar nichts bringen, wie auch
Solange nur der Speicher manipuliert wird, und nichts berechnet, hat ASM keinerlei Einfluss.
Vergleich der Schnelligkeit normale und Pointer-Version
Re: Vergleich der Schnelligkeit normale und Pointer-Version
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
- unkommentierter Quellcode = unqualifizierter Müll
- 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: Vergleich der Schnelligkeit normale und Pointer-Version
Mit ASM kann man auch nicht schneller in den Speicher schreiben, als mit Pointern.7x7 hat geschrieben:Wie bitte???
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Vergleich der Schnelligkeit normale und Pointer-Version
Mit Verlaub: Das ist schlichter Unfug! Lassen wir's gut sein.ts-soft hat geschrieben:Mit ASM kann man auch nicht schneller in den Speicher schreiben, als mit Pointern.
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
- unkommentierter Quellcode = unqualifizierter Müll
- 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: Vergleich der Schnelligkeit normale und Pointer-Version
Code: Alles auswählen
*p\i = 100
Auch die Addition von + SizeOf(Character) kann man nicht beschleunigen, das ist keine Runtime-Funktion, sondern
SizeOf wird bereits vom Compiler ersetzt.
Dann hätten wir noch die Schleife, die aber IMHO kein Potential hat, erheblich durch ASM beschleunigt zu werden.
Aber warum erzähle ich Dir das, Du willst es sowieso nicht wahr haben

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Vergleich der Schnelligkeit normale und Pointer-Version
Naja, *p\i = 100 kann man sicher nicht mit ASM beschleunigen.
Aber weil du ja MOV angesprochen hast, so kann man sehr wohl mit ASM so manchen Code beschleunigen, indem man ein paar MOVs einspart und möglichst viel in den Registern lässt, was PB ja nicht immer optimiert.
So kann man die Addition von *c + SizeOf(Character) schon beschleunigen, indem kan *c nur einmal in einem Register lädt und diesen dann immer INC macht (sofern Ascii-Mode), satt immer MOV in Register, +1, MOV in Variable.
Aber ich glaube jetzt entfernen wir uns noch mehr.
Ich verstehe schon seit Seite 1 nicht, waum wir/ihr hier ReplaceString beschleunigen wollt ^^
Aber weil du ja MOV angesprochen hast, so kann man sehr wohl mit ASM so manchen Code beschleunigen, indem man ein paar MOVs einspart und möglichst viel in den Registern lässt, was PB ja nicht immer optimiert.
So kann man die Addition von *c + SizeOf(Character) schon beschleunigen, indem kan *c nur einmal in einem Register lädt und diesen dann immer INC macht (sofern Ascii-Mode), satt immer MOV in Register, +1, MOV in Variable.
Aber ich glaube jetzt entfernen wir uns noch mehr.
Ich verstehe schon seit Seite 1 nicht, waum wir/ihr hier ReplaceString beschleunigen wollt ^^
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: Vergleich der Schnelligkeit normale und Pointer-Version
Das meine ich auch.Mit Verlaub: Das ist schlichter Unfug! Lassen wir's gut sein.
Im Anfängerforum mit ASM anzukommen!!!
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
- 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: Vergleich der Schnelligkeit normale und Pointer-Version
Das gilt aber auch für Pointerdysti hat geschrieben:Das meine ich auch.
Im Anfängerforum mit ASM anzukommen!!!

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Vergleich der Schnelligkeit normale und Pointer-Version
Mist...das war MEIN Gedankets-soft hat geschrieben:Das gilt aber auch für Pointer

- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
- unkommentierter Quellcode = unqualifizierter Müll
- 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: Vergleich der Schnelligkeit normale und Pointer-Version
Vorraussetzungen für das Arbeiten mit Pointern.
1. Fundiertes Wissen über Strukturen
2. Erfahrungen im Umgang mit Memory, Poke, Peek usw.
3. Stringverwaltung von PB begreifen.
4. Tutorial von Freak, auf purearea.net zu finden, studiert haben.
Wenn man dann so weit ist, findet man die restlichen Infos hier im Forum.
Immer dran denken, falsch genutzte Pointer können das System zum
Absturz bringen! Also immer mit Debugger testen und andere Programme vorher
schliessen.
Wenn man dann Pointer einsetzt, sich immer Fragen, ist das wirklich nötig.
Höhere Geschwindigkeit macht sich nur in bestimmten Fällen wirklich bemerkbar.
Verschlechtert die Lesbarkeit des Codes und erhöht die Gefahr von schwer
auffindbaren Fehlern.
Damit sollte alles zu dem Thema gesagt sein.
1. Fundiertes Wissen über Strukturen
2. Erfahrungen im Umgang mit Memory, Poke, Peek usw.
3. Stringverwaltung von PB begreifen.
4. Tutorial von Freak, auf purearea.net zu finden, studiert haben.
Wenn man dann so weit ist, findet man die restlichen Infos hier im Forum.
Immer dran denken, falsch genutzte Pointer können das System zum
Absturz bringen! Also immer mit Debugger testen und andere Programme vorher
schliessen.
Wenn man dann Pointer einsetzt, sich immer Fragen, ist das wirklich nötig.
Höhere Geschwindigkeit macht sich nur in bestimmten Fällen wirklich bemerkbar.
Verschlechtert die Lesbarkeit des Codes und erhöht die Gefahr von schwer
auffindbaren Fehlern.
Damit sollte alles zu dem Thema gesagt sein.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
