Diskussion zum Artikel "JSON beherrschen: Erstellen Sie Ihren eigenen JSON-Reader in MQL5 von Grund auf"
Nun, wenn ich ihn in die Finger bekomme, werde ich einen vergleichenden Benchmark durchführen.
Ich verglich die Geschwindigkeit von 4 Bibliotheken, einschließlich ToyJson3 von MQL5Book. Als Beispiel-Json habe ich die Antwort von Binance auf "exchangeInfo" mit einer Größe von 768 Kb genommen. Wenn die Bibliothek liest es aus einem String, ist es in seiner Gesamtheit geparst, dann wähle ich ein Symbol und lesen Sie alle seine Daten. In einer Schleife 100 Mal.
MetaTrader 5 x64 build 5370 started for MetaQuotes Ltd. Windows 10 build 19045, 4 x AMD Ryzen 3 PRO 3200 GE w/ Radeon Vega, AVX2, 6 / 13 Gb memory, 241 / 427 Gb disk, UAC, GMT+3 cpu='AVX2 + FMA3'
Ergebnis (Abfrageverarbeitungszeit):
99,5 ms - JAson 1.12(https://www.mql5.com/de/code/13663)
85,5 ms - JAson 1.13
46,9 ms - ToyJson3 (https://www.mql5.com/ru/forum/459079/page4#comment_57805801)
41 ms - JSON(https://www.mql5.com/de/code/53107)
1132 ms - JsonNode (diese Bibliothek)
38 ms - meine auf JSON basierende Implementierung
PS: Es gab einmal eine andere, sehr abgespeckte Bibliothek, die hier auftauchte. Aber ich habe sie aus den Augen verloren.
PPS: Ich veröffentliche das Skript nicht zum Messen. Der Code ist in einer völlig unansehnlichen Form.
Ich verglich die Geschwindigkeit von 4 Bibliotheken, einschließlich ToyJson3 von MQL5Book. Als Beispiel-Json habe ich die Antwort von Binance auf "exchangeInfo" mit einer Größe von 768 Kb genommen. Wenn die Bibliothek liest es aus einem String, ist es in seiner Gesamtheit geparst, dann wähle ich ein Symbol und lesen Sie alle seine Daten. In einer Schleife 100 Mal.
Ergebnis (Abfrageverarbeitungszeit):
99,5 ms - JAson 1.12(https://www.mql5.com/de/code/13663)
85,5 ms - JAson 1.13
46,9 ms - ToyJson3 (https://www.mql5.com/ru/forum/459079/page4#comment_57805801)
41 ms - JSON(https://www.mql5.com/de/code/53107)
1132 ms - JsonNode (diese Bibliothek)
38 ms - meine auf JSON basierende Implementierung
PS: Es gab einmal eine andere, sehr abgespeckte Bibliothek, die hier auftauchte. Aber ich habe sie aus den Augen verloren.
PPS: Ich veröffentliche das Skript nicht zum Messen. Der Code ist in einer völlig unansehnlichen Form.
Könnten Sie bitte die json-Zeichenfolge oder Datei posten?
https://fapi.binance.com/fapi/v1/exchangeInfo
https://eapi.binance.com/eapi/v1/exchangeInfo
778 KB (796.729 Bytes).
Könnten Sie bitte die json-Zeichenfolge oder Datei posten?
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel JSON beherrschen: Erstellen Sie Ihren eigenen JSON-Reader in MQL5 von Grund auf :
In diesem Artikel möchten wir diese Lücke schließen, indem wir zeigen, wie Sie Ihren eigenen JSON-Leser in MQL5 erstellen können. Auf dem Weg dorthin werden wir die grundlegenden Konzepte des Parsens von JSON erkunden und die Erstellung einer flexiblen Klassenstruktur durchgehen, die verschiedene JSON-Elementtypen (wie Objekte, Arrays, Strings, Zahlen, Boolesche Werte und Nullwerte) verarbeiten kann. Unser Ziel ist es, Sie in die Lage zu versetzen, JSON-Strings bequem zu parsen und auf die darin enthaltenen Daten zuzugreifen oder sie zu ändern – und das alles in Ihrer MetaTrader 5-Umgebung.
Wir werden eine ähnliche Struktur wie in anderen MQL5-bezogenen Artikeln verfolgen, aber mit einem speziellen Fokus auf JSON-Parsing und -Nutzung. Dieser Artikel ist in fünf Hauptabschnitte unterteilt: eine Einführung (die Sie gerade lesen), ein tieferes Eintauchen in die Grundlagen von JSON und wie es in MQL5 passt, eine Schritt-für-Schritt-Anleitung zum Aufbau eines grundlegenden JSON-Parsers von Grund auf, eine Erkundung fortgeschrittener Funktionen für die JSON-Behandlung und schließlich ein umfassendes Code-Listing mit abschließenden Gedanken.
Autor: Sahil Bagdi