Auch die Analoga sind in ihrer Leistung sehr unterschiedlich. Die Zahl derer, die sie schreiben oder finden können, ist geringer als ein Prozentsatz der Nutzer.
Nun, das liegt daran, dass der Rest der Leute mit der vorhandenen Leistung zufrieden ist. Ehrlich gesagt sind die meisten dieser Geschwindigkeitssteigerungen nur in isolierten Testmessungen spürbar.
Natürlich behaupte ich nicht, dass wir nach Perfektion streben sollten, aber es ist besser, dies in der Reihenfolge der Prioritäten zu tun.
Denn andere Leute sind mit der vorhandenen Leistung durchaus zufrieden. Schließlich sind die meisten dieser Geschwindigkeitssteigerungen nur in einzelnen Testmessungen spürbar.
Selbst eine Steigerung der Optimierung um 1 % führt zu spürbaren Ergebnissen.
Ich behaupte nicht, dass man nach Perfektion streben sollte, aber es ist ratsam, dies in der Reihenfolge der Prioritäten zu tun.
Für MQ sind Sie weniger interessant als das ganze Heer der MT4-Schlaumeier, die aus verschiedenen Gründen nicht auf 5 umgestiegen sind.
Schnellere Analoga der Standardfunktionen ceil(), floor(),round()
2-2,5facher Geschwindigkeitsvorteil
long Ceil (double x) { return (x-(long)x>0)?(long)x+1:(long)x; }
long Round(double x) { return (x>0)?(long)(x+0.5):(long)(x-0.5);}
long Floor(double x) { return (x>0)?(long)x:((long)x-x>0)?(long)x-1:(long)x; }
Ergebnisse des Korrektheits- und Geschwindigkeitstests:
2018.08.2517:23:23.199 TestRound (EURUSD,M10) Время выполнения ceil = 3.745 наносекунд, Контрольная сумма = 52504928952018.08.2517:23:23.200 TestRound (EURUSD,M10) Время выполнения Ceil = 1.806 наносекунд, Контрольная сумма = 52504928952018.08.2517:23:23.205 TestRound (EURUSD,M10) Время выполнения floor = 4.243 наносекунд, Контрольная сумма = 52494928962018.08.2517:23:23.206 TestRound (EURUSD,M10) Время выполнения Floor = 1.621 наносекунд, Контрольная сумма = 52494928962018.08.2517:23:23.209 TestRound (EURUSD,M10) Время выполнения round = 2.984 наносекунд, Контрольная сумма = 52499928962018.08.2517:23:23.211 TestRound (EURUSD,M10) Время выполнения Round = 1.519 наносекунд, Контрольная сумма = 5249992896
Die Standardfunktionen geben den Typ double zurück. Aber ich habe es nicht wiederholt, weil ich nicht verstehe, warum gerundete Funktionen den Typ double benötigen.
Kein Nano. 1000000 Durchläufe, und ich teile es durch 1000.
Nur sind sie noch schneller, da sie zusammen mit dem gesamten Inhalt des Schleifendurchlaufs gezählt werden. Ich werde mich in 3 Stunden an meinen Computer setzen und die Laufzeitberechnung für rein diese Funktionen korrigieren.
Nikolai Semko: Die Standardfunktionen geben den Typ double zurück. Aber ich habe es nicht wiederholt, weil ich nicht verstehe, warum gerundete Funktionen den Typ double benötigen.
Weil die Umwandlung von Double in Integer (auf diese Weise) beschissener Code ist. Round with friends ist nicht dafür gedacht, Ganzzahlen aus Fließkommazahlen zu gewinnen.
Auch die Analoga sind in ihrer Leistung sehr unterschiedlich. Die Zahl derer, die sie schreiben oder finden können, ist geringer als ein Prozentsatz der Nutzer.
Nun, das liegt daran, dass der Rest der Leute mit der vorhandenen Leistung zufrieden ist. Ehrlich gesagt sind die meisten dieser Geschwindigkeitssteigerungen nur in isolierten Testmessungen spürbar.
Natürlich behaupte ich nicht, dass wir nach Perfektion streben sollten, aber es ist besser, dies in der Reihenfolge der Prioritäten zu tun.
Denn andere Leute sind mit der vorhandenen Leistung durchaus zufrieden. Schließlich sind die meisten dieser Geschwindigkeitssteigerungen nur in einzelnen Testmessungen spürbar.
Selbst eine Steigerung der Optimierung um 1 % führt zu spürbaren Ergebnissen.
Ich behaupte nicht, dass man nach Perfektion streben sollte, aber es ist ratsam, dies in der Reihenfolge der Prioritäten zu tun.
Für MQ sind Sie weniger interessant als das ganze Heer der MT4-Schlaumeier, die aus verschiedenen Gründen nicht auf 5 umgestiegen sind.
Schnellere Alternativen zu Bars und iBarShift
Schnellere Analoga der Standardfunktionen ceil(), floor(),round()
2-2,5facher Geschwindigkeitsvorteil
Ergebnisse des Korrektheits- und Geschwindigkeitstests:
Die Standardfunktionen geben den Typ double zurück. Aber ich habe es nicht wiederholt, weil ich nicht verstehe, warum gerundete Funktionen den Typ double benötigen.die Ergebnisse des Korrektheits- und Geschwindigkeitstests:
Nur nicht nano, sondern miles.
Nur sind sie nicht nano, sondern miles.
Kein Nano. 1000000 Durchläufe, und ich teile es durch 1000.
Eine zweideutige Auslegung also. Es wurde beschlossen, die Zykluszeit und nicht die durchschnittliche Zeit eines Funktionsaufrufs auszugeben.
Die Standardfunktionen geben den Typ double zurück. Aber ich habe es nicht wiederholt, weil ich nicht verstehe, warum gerundete Funktionen den Typ double benötigen.
Weil die Umwandlung von Double in Integer (auf diese Weise) beschissener Code ist. Round with friends ist nicht dafür gedacht, Ganzzahlen aus Fließkommazahlen zu gewinnen.