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.