MT5 RAM-Speicherüberfluss, Probleme beim Lesen/Schreiben großer Dateien - Seite 8

 
Horror
 
Алексей Тарабанов:
Horror

Emotionen sind sehr wichtig, um die Einstellung einer Person zu verstehen. Es ist jedoch keine schlechte Idee zu verstehen, worauf sich diese starken Emotionen beziehen.

 

Lassen Sie mich die Stimmung ein wenig auflockern. Ich erinnerte mich an einen Witz über Horror.

Ein Kunde kommt in ein Bordell. Sie geben ihm ein Mädchen und gehen die Treppe hinauf. Nach einer Minute rennt das Mädchen aus dem Zimmer, schreit "Horror, Horror!" und rennt davon. Okay, sie geben ihm die zweite. Sie geht in den Raum, eine Minute später rennt sie schreiend "Horror, Horror!" heraus und rennt auch weg. Aber der Kunde muss bedient werden. Dann geht die Vermieterin selbst zu ihm. Eine Stunde vergeht. Sie kommt taumelnd heraus. Sie sagt: "Nun, der Horror... Aber nicht Horror-Horror!" )))

 
Aleksey Vyazmikin:

Haben Sie geprüft und keine Beschleunigung festgestellt? Oder wollen Sie sagen, dass ich alle hier in die Irre führe?

Sie müssen hier nicht einmal nachsehen. Eine solche Änderung führt kaum zu einer Beschleunigung, da sich, wie in der Mathematik, "die Summe nicht mit dem Wechsel der Summenstellen ändert". Der Trugschluss ist also offensichtlich.

Aleksey Vyazmikin:

Haben Sie diesen Thread aufmerksam gelesen? Haben Sie meine Antwort auf die fertige Lösung in Form einer Funktion gesehen? Haben Sie eine andere Lösung? Natürlich weiß ich nicht, was OOP ist, ein aufmerksamer Leser dieses Zweigs hätte es sofort bemerkt...

Es gibt immer eine "andere Lösung". Aber eine "andere Lösung" ist in diesem Fall aufgrund des fehlenden Wissens nicht möglich.

Aleksey Vyazmikin:

Über Rentabilität/kostenlos - das ist lächerlich, ich habe gerade gezeigt, dass kostenpflichtige Lösungen nicht besser sind als kostenlose, aber Sie reden wieder von Geld...

Es wurde nichts nachgewiesen. Eine kostenpflichtige Lösung erfüllt ihre Aufgabe gut, wird aber falsch eingesetzt.

Entweder man zahlt oder man lernt - das ist das Gesetz der modernen Welt.

Hier herrscht der totale Albtraum und das totale Chaos.

 
Roffild:

Sie müssen hier nicht einmal nachsehen. Eine solche Änderung führt kaum zu einer Beschleunigung, da sich, wie in der Mathematik, "die Summe nicht mit dem Wechsel der Summenstellen ändert". Der Trugschluss ist also offensichtlich.

Wie kannst du nur so selbstgerecht sein...

Roffild:

Es gibt immer eine "andere Lösung". Aber eine "andere Lösung" ist in diesem Fall aufgrund mangelnder Kenntnisse nicht möglich.

Lassen Sie also Leute mit Wissen zu Wort kommen, wenn Sie kein Bedürfnis haben zu helfen, was bewegt Sie dann?

Roffild:

Es wurde nichts nachgewiesen. Die kostenpflichtige Lösung erfüllt ihre Aufgabe gut, wird aber falsch eingesetzt.

Entweder du zahlst oder du lernst - das ist das Gesetz der modernen Welt.

Es ist ein absoluter Alptraum und ein Chaos.

Können Sie mir sagen, wie ich eine Klasse, die gemäß meiner TOR geschrieben wurde, für meine Zwecke verwenden soll?

 
Aleksey Vyazmikin:

Wie kannst du nur so selbstgerecht sein...

Lassen Sie also Menschen mit Wissen zu Wort kommen, wenn Sie kein Bedürfnis haben zu helfen, was treibt Sie dann an?

Können Sie mir sagen, wie ich eine Klasse, die gemäß meiner TOR geschrieben wurde, für meine Zwecke verwenden soll?

Die Arroganz gibt mir eine Menge Erfahrung in der Programmierung solcher Aufgaben.

Alle haben sich bereits zu den Vorteilen geäußert. Auch fxsaber hat einen Link zu einer Lösung angegeben. Aber alle echten Lösungen wurden abgelehnt oder ignoriert.

Die Klasse ist gut, aber die ToR wurden eindeutig nicht korrekt für Zwecke formuliert, die niemand versteht.

Wenn es so schwer ist, eine CSV-Datei in 10 Zeilen Code zu lesen, sollten Sie es vielleicht nicht selbst tun?

 
Roffild:

Was mich zuversichtlich stimmt, ist meine große Erfahrung bei der Programmierung solcher Aufgaben.

Alle haben sich bereits zu den Vorteilen geäußert. Auch fxsaber hat einen Link zu einer Lösung angegeben. Aber alle echten Lösungen wurden abgelehnt oder ignoriert.

Der Kurs ist gut, aber die ToR wurden eindeutig nicht korrekt für einen Zweck verfasst, den niemand versteht.

Wenn es so schwer ist, eine CSV-Datei in 10 Zeilen Code zu lesen, sollten Sie es vielleicht nicht selbst tun.

Ihr Beitrag zu diesem Thema ist eindeutig.

 

Ich kann meine eigene Lösung anbieten. Nachstehend finden Sie den Testcode und das Ergebnis. Die Datei ist 140Mb groß und hat 2000000 Datensätze. Der Task-Manager zeigte 270 MB Speicherverbrauch an (max. abzüglich der Menge ohne das Skript)

   ulong lc1=GetTickCount();
   CSV *csv=new CSV();
   csv.Read_from_file("fff0.csv",true);//Чтение с файла с автоматической конвертацией в нужный формат
   csv.Write_to_file("fff1.csv",true); //Запись в файл
   Print(csv.Get_info());              //Вывод информации о таблице(столбцы, строки, типы данных для каждого столбца)
   Print(GetTickCount()-lc1);          //Вывод времени работы
   delete csv;


Hier ein Beispiel für die im Test verwendete CSV-Datei:

boooool;dooooouble;enuuuuuum;looooooong;striiiiiiign;tiiiiiime
FALSE;0.00000000;ORDER_TYPE_BUY;0;0;1970.01.01 00:00
TRUE;1.00000000;ORDER_TYPE_SELL;1;1;1970.01.01 00:00
FALSE;2.00000000;ORDER_TYPE_BUY_LIMIT;2;2;1970.01.01 00:00
FALSE;3.00000000;ORDER_TYPE_SELL_LIMIT;3;3;1970.01.01 00:00

Speichern der Datei ohne Zählen der Aufzählungen

boooool;dooooouble;enuuuuuum;looooooong;striiiiiiign;tiiiiiime
0;0.00000000;8;0;0;1970.01.01 00:00
1;1.00000000;0;1;1;1970.01.01 00:00
0;2.00000000;1;2;2;1970.01.01 00:00
0;3.00000000;2;3;3;1970.01.01 00:00
 
Aliaksandr Hryshyn:

Ich kann meine eigene Lösung anbieten. Nachstehend finden Sie den Testcode und das Ergebnis. Die Datei ist 140Mb groß und hat 2000000 Datensätze. Der Task-Manager zeigte 270 MB Speicherverbrauch an (max. minus die Menge ohne das Skript)


Hier ein Beispiel für die im Test verwendete CSV-Datei:

Speichern der Datei ohne Zählen der Aufzählungen

Großartig! Ich bin bereit, Ihre Lösung auszuprobieren.