Sprechen Sie über die Bedeutung der Optimierung der Codestruktur.

Schriftsteller:Knaben, Erstellt: 2021-05-22 05:57:14, aktualisiert:

Da es sich um ein öffentliches Programm handelt, gibt es häufig kleine Probleme. Heute wollen wir über die Bedeutung der Optimierung der Codestruktur sprechen.

Die wichtigsten Punkte bei der Gewinnspanne sind zwei: 1. Kapitalverwendung 2. Ordergeschwindigkeit

Die Beantragungsgeschwindigkeit hängt in der Regel von der Nähe der Server an der Börse ab, von der Kaufleistung eines besseren Netzwerks. Für die meisten Neulinge ist es jedoch viel weniger kostspielig, wenn man nur die Codestruktur optimiert.

Bei einem einzigen Transaktionspaar ist jedoch der Unterschied kaum erkennbar, da die Optimierung der Code-Strukturen oft weniger als 1 ms schnell wird.

Die Vorteile der Optimierung der Code-Struktur sind offensichtlich. Die Komplexität der Umfragen für mehrere Transaktionen an den meisten Börsen ist O ((n!), durch Optimierung kann vollständig auf O ((n!/(m!)) reduziert werden.

Ich habe ein Problem, mit dem ich oft konfrontiert bin, zum Beispiel, dass es zwei verschiedene Wege gibt: A-C und A-B-C. Beide Wege müssen jeweils zweimal berechnet werden, wobei der Profitprozentsatz der einzelnen Wege, vorausgesetzt p1 und p2, jeweils für die jeweilige Börse und ihren Handel berechnet wird.

Die häufigste Art des Schreibens ist, dass man zuerst eine Funktion schreibt, deren Funktion es ist, den Gewinn zu berechnen, indem man speziell den Preis und den Betrag angibt. Dann wird die Funktion in einem Loop aufgerufen, um den Profit für jeden Pfad zu erhalten, und dann wählt man den größten Profit für den Handel.

Offensichtlich müssen wir beim Vergleich nur den Gewinn berechnen, ohne dass wir den Preis und den Betrag zu Beginn berechnen müssen.

So kann man bei der Optimierung Profit und Aufforderung in zwei Funktionen aufteilen. Die Funktion, die Profit aufruft, wird zuerst durch einen Zyklus aufgerufen, um den Profit für jeden Pfad zu erhalten, und dann wählt man den größten Profit, um eine Transaktion durchzuführen. So wird die Aufforderungsfunktion logisch von jedem Zyklus aufgerufen und wird nur einmal aufgerufen. Die Zeitkomplexität ändert sich von O (((2n) zu O (((n+1), n ist die Gesamtzahl der Aufforderungswege.

Wenn man dann den Code weiter analysiert, stellt man fest, dass es in der Regel selten vorkommt, dass mehrere Wege gleichzeitig profitabel sind.

So können wir die Strategie weiter optimieren, indem wir einen Loop, einen Loop und einen If-Satz einrichten, wenn wir feststellen, dass ein Weg einen Profit hat, dann brechen wir es aus und berechnen die Anzahl und den Preis für diesen Weg.

Dann wird die Komplexität von O ((n+1) weiter vereinfacht, um O ((m+1), m

Die Zeitkomplexität kann also durch einfache Aufschlüsselungsfunktionen und Analyse der logischen Optimierungsstruktur von O ((2n) auf O ((n/2+1)) reduziert werden.

Es gibt viele Szenarien, in denen man optimieren kann, und ich habe oft festgestellt, dass man bei der Optimierung der Logik eine Optimierung von O (n!) auf O (n* (n+1)) optimieren kann. Manchmal kann man sogar eine Logik optimieren, die nur wenige hundert Millisekunden dauert, bis sie fertig ist.

Als eine Möglichkeit, die strategische Abweichung zu reduzieren, empfiehlt es sich, die Code-Struktur zu optimieren.


Mehr

Das KnochenmesserWie kann man bei einem Zinssatz effektiv verhindern, dass ein Einbeiner entsteht?

KnabenVerzögerungen bei der Ankunft von Aufträgen an Börsen

- Ich komme.Die Verzögerung ist eine Verzögerung von Deep Data.

KnabenAufzeichnungsverzögerungen, bei denen der aktuelle Zinssatz über einen bestimmten Wert hinausgeht, werden nicht durchgeführt.