Diskussion zum Artikel "Das MQL5-Kochbuch: Implementierung eines Assoziativen Arrays oder eines Lexikons für raschen Datenzugriff" - Seite 2
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 bitte um Entschuldigung!
Ich bin gerade dabei, mich mit Listen und der Erstellung von Objekten vertraut zu machen.
Als ich anfing, Ihren Code zu testen und zu untersuchen, fand ich einen kleinen Fehler, aber ich kann mich irren.
Bei der Messung der Geschwindigkeit beim Vergleich zwischen Ihrer Bibliothek und der Standardbibliothek, wer schneller ist, sagen Sie in der Beschreibung etwas, zeigen aber im Diagramm etwas anderes. Ist Ihnen das nicht aufgefallen oder lese ich das Diagramm falsch?
P.P. 4.3.
Ich bitte um Entschuldigung!
Ich bin gerade dabei, mich mit Listen und der Erstellung von Objekten vertraut zu machen.
Als ich anfing, Ihren Code zu testen und zu untersuchen, fand ich einen kleinen Fehler, aber ich kann mich irren.
Bei der Messung der Geschwindigkeit beim Vergleich zwischen Ihrer Bibliothek und der Standardbibliothek, wer schneller ist, sagen Sie in der Beschreibung etwas, zeigen aber im Diagramm etwas anderes. Ist Ihnen das nicht aufgefallen oder lese ich das Diagramm falsch?
P.P. 4.3.
Am Anfang habe ich geschrieben, dass es sich tatsächlich um einen Fehler handelt, aber dann habe ich mir die Grafik genauer angesehen: Nein, alles ist richtig. Die y-Achse zeigt die Zeit an, je länger sie ist, desto langsamer funktioniert die Addition der Gegenstände. Das Diagramm zeigt, dass das Hinzufügen einer Million Elemente zu CArrayObj 5 Sekunden dauert, während das Hinzufügen der gleichen Anzahl von Elementen zu CDictionary 1 Sekunde dauert. D.h. speziell bei Aufgaben mit großer sequentieller Addition von Elementen gewinnt das Speicherneuzuweisungsmodell von CDictionary im Vergleich zum Standardneuzuweisungsmodell in CArrayObj, was zu zeigen war.
Am Anfang schrieb ich, dass dies wirklich ein Fehler ist, aber dann habe ich mir das Diagramm genauer angesehen: Nein, alles ist korrekt. Die y-Achse zeigt die Zeit an, je länger sie ist, desto langsamer dauert das Hinzufügen eines Elements. Das Diagramm zeigt, dass das Hinzufügen einer Million Elemente zu CArrayObj 5 Sekunden dauert, während das Hinzufügen der gleichen Anzahl von Elementen zu CDictionary 1 Sekunde dauert. D.h. speziell bei Aufgaben mit großen sequentiellen Hinzufügungen von Elementen gewinnt das Modell der Speicherneuzuweisung von CDictionary im Vergleich zum Standardmodell der Neuzuweisung in CArrayObj, was zu zeigen war.
Nein, es ist immer noch ein Fehler. aber für mich spielt es keine Rolle, aber für andere Leser, ja. die es auch verstehen werden wie ich von Anfang an. Es sollte sehr genau geschrieben werden, weil es zu einem weit entfernten Missverständnis führt. ))))
Zitat: Er verwendet das Makro TEST_ARRAY. Wenn es definiert ist, führt der Test Operationen auf CArrayObj durch, wenn nicht - auf CDictionary. Der erste Test für das Hinzufügen neuer Elemente gewinnt über CDictionary,dessen Modell für die Speicherneuzuweisung in diesem speziellen Fall besser war:
MUST HAVE: Es verwendet das Makro TEST_ARRAY. Wenn es "NOT" definiert ist, führt der Test Operationen auf CArrayObj aus, wenn "YES" führt er Operationen auf CDictionary aus. Der erste Test für das Hinzufügen neuer Elemente gewinnt über CDictionary, dessen Modell für die Neuzuweisung von Speicher in diesem speziellen Fall besser war:
Der ganze Fehler ist direkt in den Code von Anfang an geht, um die Liste durch CDictionary zu füllen , und dann, wenn nicht definiert Makro TEST_ARRAY geht CArrayObj hier ist, wo der Fehler aufgetreten . Es ist von der Müdigkeit der Arbeit an einem Material.
ABER EIN GROSSARTIGES UND ZEITAUFWÄNDIGES. ES HAT MIR SEHR GEHOLFEN, ZU VERSTEHEN IN ZEIGERN UND OBJEKTERZEUGUNG. ES WAR SEHR SCHWER, SICH IN DIE MATERIE EINZUARBEITEN. UND MAN BRAUCHT ES IN EINER KURZEN ZEITSPANNE......
BmC:
ICH HATTE EINE MENGE HILFE, UM HERAUSZUFINDEN, WIE MAN BEI ZEIGERN UND DER OBJEKTERSTELLUNG.
В MQL4 и MQL5 нет указателей, есть дескрипторы, это совсем другой компот.
In MQL4 und MQL5 gibt es keine Zeiger, sondern Deskriptoren, das ist ein völlig anderes Kompott.
Versuchen Sie, schlau zu sein, oder versuchen Sie nur, eine Bewertung zu bekommen. Wenn Sie keine Zeit haben, den Artikel und das, was ich geschrieben habe, zu lesen, bitte ich Sie, das nicht mehr zu tun, sondern schreiben Sie den Machern von MetaQuotes Software Corp. was sie haben oder was sein sollte, aber nicht hier an kluge Leute. Für diejenigen, die es in Zukunft so wollen wie Sie: www.mql5.com/ru/docs/basis/types/object_pointers.
Sie müssen eine Bewertung nur auf solche dummen Aussagen haben. Was machen Sie dann, wenn Sie 3000 Mal Unsinn schreiben? Wenn Sie nichts zu tun haben, lesen Sie die MQL-Referenz noch einmal. Wenn Sie eine Bewertung auf dumme Aussagen so sehr brauchen, dann schreiben Sie an die Erfinder Ihrer dummen Ideen, die bekommen dort Geld für Sie.
Wenn Sie nicht verstanden haben, was ich damit sagen wollte, dann teile ich Ihnen zum Beispiel mit, dass Sie immer noch dumme Ideen an die Schöpfer schreiben können: " class="linkator">"Object Descriptors" umzubenennen."
Dann geben Sie den Grund an: "Da ich so dumm bin und ich möchte, dass alle meine dummen Dinge zu wahren und vernünftigen Aussagen werden, ersparen Sie mir "creator".
Wenn ich der "Schöpfer" wäre, würde ich dir raten, dir eine Blume der "siebenblütigen Blume" zu besorgen. Aber das ist Dir ja egal, Du hast ja schon drei Aussagen geschrieben. 3093+3=3096. Ich habe Dir jetzt geholfen, mir zu helfen, hier nicht mehr zu schreiben.
Ich bin schon lange im Forum und deine Aussagen sehe ich sie sind wie immer dumm und konstant. Du schreibst zum Thema immer in Schnipseln und korrigierst immer jeden, hier solche dummen Aussagen. Ich verstehe nicht, warum du so wütend bist, denn ich bin auch der gleiche User-Anfänger, der das Forum besteigt, um sein Wissen aufzufrischen und wenn so ein "Guru" mit einer 3000er Bewertung etwas schreibt, hört er zu. Und ER ist nur ein Dummkopf, der sich ein Ziel gesetzt hat, um eine Bewertung für sich zu erreichen. Er denkt nicht einmal daran, dass seine Aussage den Leser der Branche in die andere Richtung lenkt.
Ich entschuldige mich nochmals. Wenn Sie sich noch einmal in meinen Antworten verfangen, werde ich darauf bestehen, Sie zu sperren und Sie werden Ihre dummerweise erzielte Bewertung verlieren. Besonders Ihre Dummheit dem Moderator zu beweisen ist wertlos, Ihre Antworten sind immer kurz zum Thema und dumm.
Es ist bereits September, und diese Klasse ist nicht in der Standardbibliothek:)
Übrigens, eine Frage zum Code der Klasse selbst. Wozu wurde sie am Ende des Codes definiert?
weil sie in den Beispielen nirgends verwendet wird...Es ist bereits September, und diese Klasse ist nicht in der Standardbibliothek:)
Übrigens, eine Frage zum Code der Klasse selbst. Wozu wurde sie am Ende des Codes definiert?
weil sie in den Beispielen gar nicht verwendet wird...