In dem Kommentar von Parameteroptimierung mit luigi erhielt ich die Information, dass "eine Übertragung im Speicher mit luigi.mock möglich zu sein scheint", und ich habe es tatsächlich getan. Die Geschichte, die ich versucht habe. Nun, aus dem Namen Mock geht hervor, dass Datei-E / A auf Pseudo-Weise im Speicher ausgeführt werden, und ich denke, dass dies nicht so effizient sein wird. Ich war da.
Der diesmal verwendete Code lautet wie folgt.
https://github.com/keisuke-yanagisawa/study/blob/20151208/luigi/mock_test.py
Verwenden Sie python mock_test.py main --use mock
, um die Version der Mock-Nutzung zu überprüfen.
Sie können die mock-freie Version mit python mock_test.py main
ausführen.
Wie Sie sehen können, handelt es sich um einen Code, der CSV mit 10000000 "1" erstellt, durch Kommas getrennt, gelesen und die Anzahl der Zeichen gezählt wird. Die endgültige Ausgabe lautet 19999999. Ich habe etwas Zeit, um ein Array zu erstellen, aber es ist fast so, also ist es ein Geist. Tatsächlich machte dies einen Unterschied bei den folgenden Zeitmessungen.
Ich werde Ihnen das Ergebnis schnell zeigen. Dieses Mal habe ich den Zeitbefehl verwendet, um die Zeit dreimal zu messen.
luigi.LocalTarget | luigi.mock.MockTarget | |
---|---|---|
Erstes Mal | 10.952 sec. | 29.879 sec. |
Zweites Mal | 7.829 sec. | 30.883 sec. |
Drittes Mal | 11.137 sec. | 27.766 sec. |
Ja, ich habe nichts dagegen. Selbst mit Mock hatte ich nicht erwartet, dass es so langsam sein würde. Wie von der Hauptfamilie erklärt, fühlt es sich wie ein Testmechanismus an.
Schreiben wir also eine Pounding-Datei für den täglichen Gebrauch.
Recommended Posts