Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Arrays im Ressourcen-Vergeich? (http://www.expert-advisor.com/forum/showthread.php?t=3947)

Ca$hDigger 05.11.14 12:24

Arrays im Ressourcen-Vergeich?
 
Hallo,

ein Frage an die erfahrenen Programmierer zum Ressourcen/Performanceverbrauch von Arrays:

Nehmen wir zum Beispiel an man verwendet statt 1-Dimensionale Arrays 2-Dimensionale Arrays. Jetzt zur Frage: Wie stark erhöhrt sich der Rechenbedarf wenn statt einem 1-Dimensionalen Array ein 2-Dimensionales Array genutzt wird (wenn ein normaler if-Vergleich ausgeführt wird)? Da zwei Werte statt einem Wert verglichen werden, würde ich erstmal denken es ist genau doppelter Rechenaufwand. Kann mir jmd sagen (ungefähr) inwiefern sich das auf die Backtestgeschwindigkeit/RAMverbrauch usw auswirkt wenn in einem EA sehr viele 1D-Arrays zu 2D-Arrays umgestellt werden?

lg C$D

Fuchs 06.11.14 13:04

der RAM Verbrauch ist einfach linear größer.

wenn du vorher 100 Plätze hattest und das ganze ein int-Array war, dann war es ein RAM Verbrauch von 100 * 4 byte

wenn du nun eine zweite Dimension dazufügst, sind es halt 200 * 4 byte.

die Gesamtgröße die im RAM verbraucht wird ist also immer die Anzahl der verfügbaren ARRAY-Plätze * (der Platzbedarf / Platz).
ein String Array braucht dementsprechend viel mehr Platz als ein int Array.

ob sich irgendwas an der Geschwindigkeit ändert hängt natürlich davon ab, was du mit dem array machst. aber grundsätzlich sind Arrays so ziemlich das schnellste / beste was man einem EA "antun" kann. es ist halt in der Programmierung ein wenig schwieriger, man sollte genau wissen was man tut, denn Fehler beim Handling von Arrays verzeihen EAs in der Regel nicht. aber wenn man ein wenig das Arbeiten mit Arrays drauf hat, dann sind sie eine ganz feine Sache.

Fuchs

Ca$hDigger 08.11.14 12:18

Danke für die Erklärung, ich werde auf jeden Fall bei Arrays bleiben, hab sie schon lieben gelernt :D


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:17 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum