5 Stimmen

python threading und leistung?

Ich musste schwere E/A-gebundene Operationen durchführen, d.h. große Dateien parsen und von einem Format in ein anderes konvertieren. Anfangs habe ich es seriell gemacht, d.h. eine nach der anderen geparst ! Die Leistung war sehr schlecht (es dauerte 90+ Sekunden). Also beschloss ich, Threading zu verwenden, um die Leistung zu verbessern. Ich erstellte einen Thread für jede Datei. ( 4 Threads)

 for file in file_list:
            t=threading.Thread(target = self.convertfile,args = file)
            t.start()
            ts.append(t)
 for t in ts:
            t.join()

Aber zu meinem Erstaunen gibt es keinerlei Leistungssteigerung. Auch jetzt dauert es etwa 90+ Sekunden, um die Aufgabe zu erledigen. Da es sich hierbei um einen E/A-gebundenen Vorgang handelt, hatte ich eine Verbesserung der Leistung erwartet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X