
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
Ich habe den Verdacht, dass der Autor dieses Kommentars überhaupt nicht weiß, wie der Prozessor, der Speicher und der Compiler funktionieren...
Ich glaube, der Autor war so rücksichtslos, dass er die Frage nicht verstanden hat.
Was haben Speicher und CPU damit zu tun? Die Frage bezog sich auf die Optimierung in MQL5.
P.S. Lesen Sie in aller Ruhe das unterhaltsame kleine Buch " Technik der Aufmerksamkeitsentwicklung, O.A. Andreev, 2007".
Was haben Speicher und CPU damit zu tun? Die Frage bezog sich auf die Optimierung in MQL5.
Dieser Code verbraucht also Ihrer Meinung nach weder Speicher noch CPU? Und ich antworte auf die Aussage über Compiler: "Man muss sich schon anstrengen, um die Optimierungen moderner Compiler zu übertreffen. "
Ich habe den Verdacht, dass der Autor dieser Aussage überhaupt nicht weiß, wie der Prozessor, der Speicher und der Compiler funktionieren... Ich bin bereit zu wetten, dass jeder Ihrer Codes mindestens zehnmal, wenn nicht sogar hundertmal beschleunigt werden kann.
Versuchen Sie also zunächst, dies in Bezug auf den fraglichen Code zu beweisen. Und wenn man den von Igor zitierten Ergebnissen Glauben schenkt, ist es umgekehrt: Die Erklärung innerhalb der Schleife arbeitet etwas schneller.
All dieses Herumtanzen und Herumschieben, um den Compiler zu überlisten, kostet also am Ende mehr. Dadurch wird es für den Compiler schwieriger, den Code zu optimieren. Wenn eine Variable außerhalb eines Blocks deklariert wird, gilt sie als extern undbehält ihren Zustand zwischen den Iterationen bei. Das bedeutet, dass der Compiler nur begrenzte Möglichkeiten hat, sie zu optimieren. Sauberer Code wird immer besser optimiert als "schmutziger" Code (mit Seiteneffekten), wenn Sie mit dem Paradigma der funktionalen Programmierung vertraut sind.
Versuchen Sie also zunächst, dies in Bezug auf den fraglichen Code zu beweisen. Und wenn man den von Igor zitierten Ergebnissen Glauben schenkt, ist es umgekehrt: Die Erklärung innerhalb der Schleife arbeitet etwas schneller.
All dieses Herumtanzen und Herumschieben, um den Compiler zu überlisten, kostet also am Ende mehr. Dadurch wird es für den Compiler schwieriger, den Code zu optimieren. Wenn eine Variable außerhalb eines Blocks deklariert wird, gilt sie als extern und behält ihren Zustand zwischen den Iterationen bei, was bedeutet, dass der Compiler nur begrenzte Möglichkeiten hat, sie zu optimieren. Sauberer Code ist immer besser optimiert als "schmutziger" Code (der einige Nebeneffekte hat), wenn Sie das Paradigma der funktionalen Programmierung kennen.
Lesen Sie in aller Ruhe mein Buch, ich denke, Sie werden viel über Compiler lernen.
Versuchen Sie also zunächst, dies in Bezug auf den fraglichen Code zu beweisen. Und wenn man den von Igor zitierten Ergebnissen Glauben schenkt, ist es umgekehrt: Die Erklärung innerhalb der Schleife arbeitet etwas schneller.
All dieses Herumtanzen und Herumschieben, um den Compiler zu überlisten, kostet also am Ende mehr. Dadurch wird es für den Compiler schwieriger, den Code zu optimieren. Wenn eine Variable außerhalb eines Blocks deklariert wird, wird sie als externe Variable betrachtet , die ihren Zustand zwischen den Iterationen beibehält. Das bedeutet, dass der Compiler nur begrenzte Möglichkeiten zur Optimierung hat. Sauberer Code ist immer besser optimiert als "schmutziger" Code (mit Seiteneffekten), wenn Sie mit dem Paradigma der funktionalen Programmierung vertraut sind.
Mein Test zeigt das Gegenteil, Code mit einer Variablendeklaration hinter der Schleife funktioniert schneller
https://www.mql5.com/ru/forum/320307/page2#comment_12886814
Viele Male ausgeführt, Ergebnis ist stabil, Code mit Variablendeklaration nach der Schleife, arbeitet schneller
Mein Test zeigt das Gegenteil, Code mit einer Variablendeklaration hinter der Schleife ist schneller
Es ist seltsam, aber früher hatte der Mann das Gegenteil erreicht
Sie sollten zuerst die Grundlagen lernen und dann Ihren Standpunkt beweisen. Sie würden das Ergebnis auch ohne Tests verstehen, wenn Sie wenigstens ein Buch über CPU- und Speicherbetrieb gelesen hätten. Ich habe Ihnen das genialste angeboten, wenn Sie in der Programmierung ein wenig vorankommen wollen, werden Sie es lesen.
Seltsam, aber früher hatte der Mann das Gegenteil erreicht
Ich habe bereits gesagt, dass ein solcher Geschwindigkeitstest an einem künstlichen Beispiel überhaupt nicht aussagekräftig ist. Reicht meine Recherche unter dem Debugger nicht aus? Bin ich denn gar nicht glaubwürdig? Alle ignoriert, es liegt an euch, ich bin raus.
Glaubt man den obigen Ergebnissen von Igor, so ist das Gegenteil der Fall.
Ich glaube mir selbst nicht, ich überprüfe mich immer, ich glaube nicht, dass Sie mein Selbstwertgefühl steigern müssen... Es gab verschiedene Fälle in der Geschichte, ich werde einen Napoleon finden, und dann geht's los! ))))
Es ist seltsam, aber früher hat der Mann das Gegenteil erreicht.
Warum habe ich srand(GetTickCount()) zu meinem Test hinzugefügt? ?
;)