[Python-de] wxPython - Sortierung viel zu langsam :(

Gerson Kurz Gerson.Kurz at t-online.de
Tue May 7 17:52:41 EDT 2002


Ich spiele zur Zeit nebenbei ein bisserl mit wxPython rum, und habe mal aus
Spaß einen kleinen File-Browser-Verschnitt angefangen. Das funktioniert
soweit ganz gut, (und ich war von wxPython positiv überrascht) aber ich habe
*heftige* Performanceprobleme.

Folgendes: Ich benutze zum Sortieren der Darstellung das
"wxColumnSorterMixin" aus wxPython.lib.mixins.listctrl. Bei "kleinen"
Verzeichnissen (klein < 100) klappt alles noch "im Rahmen des Erträglichen";
wenn ich mein WINNT\SYSTEM32 anzeigen lassen, habe ich folgende Messwerte

Took 0.24 seconds to read 'C:\WINNT\system32' [2012 Dateien]
Took 0.00 seconds to delete all items
Took 1.90 seconds to insert all items
Took 158.49 seconds to sort all items

Weit über 2 Minuten, auf einem Dual Athlon 1900 mit 1G Ram für das Sortieren
von 2012 Dateien - daß muss mir erst mal einer nachmachen :( Ich habe den
"Übeltäter", glaube ich, in der Sortfunktion eingegrenzt; was jetzt?

(Es ist übrigens mehr-oder-minder egal, welches Sortierkriterium (Zeit,
Datum, Name, Dateiattribute etc.) - die Zeiten ähneln sich.)

Ich habe das kleine Spielzeug hier hingestellt:

http://p-nand-q.com/python/PyBrowse.zip

keine Angst, es ist nur 9.260 Bytes groß. Nach dem entpacken einfach
PyBrowse.py starten. [Achtung: Nur Win32, da ich ein paar Win32-spezifische
Funktionen benutze] Wäre toll, wenn jemand weiß, wie man das grundsätzlich
beschleunigen kann. (Obwohl ich auch 2 Sekunden für das blose Einfügen von
2000 Einträgen in das wxListCtrl als recht lang empfinde).

Ciao, Gerson




More information about the Python-de mailing list