Testen des neuen MQL5-Compilers für x64-Plattformen - 2 bis 10 Mal schnellere Berechnungen! - Seite 19
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wurdeder Profiler schon vorgeschlagen?
Option Nr. 2. Nehmen Sie jede Zeile der Schrift:
in eine separate Funktion. Versuchen Sie, Renate zu glauben:)
D.h. das Ergebnis sollte am Ende so aussehen:
usw.Ja, es gibt einen Link zum EA hier.
Es ist zwei Tage her - die Zusammenstellung beträgt 7%...
Auf dieser Maschine.
Wurdeder Profiler schon angeboten?
Nein, hat es nicht - was genau soll ich denn darin sehen? Ich weiß nicht wirklich, wie man es benutzt.
Option 2. Um jede Zeile des Typs zu setzen:
in eine separate Funktion. Versuchen Sie, Renate zu glauben:)
D.h. das Ergebnis sollte am Ende so sein:
usw.Es ist die "case :"-Variante und nicht die "if"-Variante, die hier einen erheblichen Geschwindigkeitsgewinn bringt. Wenn Sie es sogar schaffen, wie
Der Code wird noch größer werden. Aber Sie können natürlich die Kompilierungszeit und die Leistung vergleichen...
An diesem Auto.
Ja, der Code ist nicht groß, ich habe keinen 500 Megabyte großen Code gepostet - wenn du ihn brauchst, kann ich ihn...
Welche anderen Mittel schlagen Sie vor? Das ist die schnellste Möglichkeit, die mir bisher eingefallen ist...
Optimieren Sie die Logik. Arbeiten Sie zum Beispiel mit Arrays und Schleifen. Versuchen Sie, die Kriterienwerte in ein Array zu packen. Und Kontrollen in einer Schleife durchführen. Vielleicht besteht dann in 74 Tausend Fällen kein Bedarf mehr...
1. Nein, haben sie nicht - was genau soll ich denn darin sehen? Ich weiß nicht wirklich, wie man es benutzt.
2. Es ist die "case :"-Variante und nicht die "if"-Variante, die einen erheblichen Geschwindigkeitszuwachs bewirkt. Wenn Sie es sogar schaffen, wie
Der Code wird noch schneller werden... Aber Sie können sicherlich die Kompilierungszeit und Leistung vergleichen...
(1) Sie werden dort die langsamsten Teile des Codes sehen. Obwohl... Eine andere Frage ist, ob es die Kompilierung beeinflusst...
2. Wie Sie möchten: Sie können Case verwenden. Es wurde Ihnen geraten, sie in kleine Funktionen aufzuteilen. Brechen Sie es auf und testen Sie es. Ja, natürlich wird der Code größer werden. Aber was ist zu tun?
Ich würde diese Aufzählung, sagen wir, in eine externe CSV-Datei übertragen, aber dann entsteht ein weiteres Problem - Zeitverschwendung, um die Datei zu lesen, und außerdem, wenn ich Aufgaben an Agenten verteile, kann ich nicht jedem Agenten 500 Megabyte schicken, während EA-Code an einen Agenten geschickt (oder nicht?) und zwischen ihnen aufgeteilt wird.
Und eine andere Frage, mein Code ist leicht von 7zip von 500 bis 15 Megabyte komprimiert, aber nach der Komprimierung wird die Datei um 500 sein - warum ist es so - keine Möglichkeit, primitive Kompression (zumindest bis zu 100 Megabyte) zu tun?
Komprimieren Sie die Datei mit zip. Lesen Sie zip, dekomprimieren Sie innen. Das ist schneller als die Übertragung von 500 MB EA (die auch an jeden Agenten übertragen werden).
@Renat Fatkhullin, könnten Sie bitte klarstellen, ob der Profiler helfen kann, Kompilierungsengpässe aufzudecken? Oder verwenden Sie es nur, um die Codegeschwindigkeit in Echtzeit zu überprüfen?
Der Profiler hat nichts mit der Kompilierung zu tun.