Testen des neuen MQL5-Compilers für x64-Plattformen - 2 bis 10 Mal schnellere Berechnungen! - Seite 20
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
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 gibt es dann in 74 Tausend Fällen keinen Bedarf mehr...
Natürlich kann man theoretisch jede Zeichenkette durch einen langen Hash generieren und nur diese Hashes übergeben, und dann alles damit generieren - aber ich bin mir nicht sicher, ob das schnell geht und die Aufgabe ist nicht einfach...
1. Sie werden dort die "langsamsten" Stellen im Code sehen. Obwohl... Es ist eine andere Frage, 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?
Und hier habe ich den Code in Funktionen umgeschrieben - im Anhang.
Mir ist sofort aufgefallen, dass der vorherige Code nach dem Kompilieren 14428 kb brauchte und der neue 9447 kb - ich bin schon überrascht über den Unterschied von 5 Mbytes - woher!
Weiterhin durch die Kompilierungsgeschwindigkeit, die ehemalige
neue Version
Die neue Version ist 5,46 Mal schneller zu kompilieren.
Und hier ist die vorherige Version in Bezug auf die Geschwindigkeit:
die neue Version.
Und hier sehen wir, dass der erste Durchlauf von Agenten (4 Agenten) sehr langsam ist - ich habe es viele Male versucht - das Ergebnis ist stabil, aber im Protokoll
Was hat das jetzt damit zu tun, vielleicht kann mir@Renat Fatkhullin oder@Slava sagen, warum ein solcher Effekt auftritt?
Die Datei ist gezippt. Lesen Sie den Reißverschluss, entpacken Sie ihn. Das ist schneller als die Übertragung eines 500 MB großen EA (der auch an jeden Agenten übertragen wird).
Wird sie dann nicht bei jedem neuen Durchgang wieder dekomprimiert?
Ja, und wäre das Lesen aus der Datei schneller als eine einmalige Übertragung von....
Wird sie dann nicht jedes Mal wieder ausgepackt, wenn ein neuer Pass gemacht wird?
Ja, und wäre das Lesen aus einer Datei schneller als ein einzelner Pass....
Ja, es könnte mit der Optimierung langsamer sein... Aber ich würde überprüfen, ob alles dafür vorbereitet ist.
Ja, es könnte während der Optimierung langsamer sein... Aber ich würde prüfen, ob alles dafür bereit ist.
Was genau ist bereit - ich verstehe es nicht.
Was genau ist bereit - ich verstehe es nicht.
Arbeiten mit Zip-Archiven.
Arbeiten mit Zip-Archiven.
Ja, das habe ich gesehen, aber noch nicht in der Praxis ausprobiert.
Das Problem liegt für mich eher in der Datenaufbereitung, d. h. in der Übersetzung des Codes in eine Tabelle - ich muss die Rohdaten erneut verarbeiten...
Ich habe eine öffentliche Version des EA erstellt, jetzt prüfe ich, ob er kompiliert werden kann oder nicht - der Prozess ist nicht schnell, aber jetzt kann man sehen, dass 46% des Codes kompiliert sind und bereits 36 GB RAM verbraucht sind...
Bitte stellen Sie mir den zu untersuchenden Code zur Verfügung.
Ich werde prüfen, warum es so langsam kompiliert und so viel Speicher verbraucht.