Performanceverlust durch neues Modul
06.03.2017 12:25:28
Burkhard
Nun kommt es zu dem Phänomen, dass in dem Projekt eine alte, unveränderte Funktion in dem alten, unveränderten - nennen wir es mal so - Modul A, die direkt aus Workbook_Open() aufgerufen wird, deutlich langsamer läuft als vorher.
Von Modul A werden keine Funktionen in Modul B aufgerufen (die waren ja bisher nicht vorhanden), wohl aber andersherum. Modul B verwendet "Option explicit", Modul A nicht. In Modul B ist eine Reihe zusätzlicher globaler Variablen und Konstanten definiert.
Der Performanceeinbruch findet im alten Code in einer etwas komplizierten Schleife statt. Vor der Erweiterung um Modul B dauerte ein Schleifendurchlauf 0,04 Sekunden, danach 0,11 Sekunden - das ist fast das dreifache. Da diese Schleife mehrere hundert mal durchlaufen wird, macht sich das durchaus unangenehm bemerkbar ...
Kann mir jemand einen Tipp geben, warum der unveränderte alte Code auf einmal langsamer läuft? Und vielleicht auch, was man dagegen unternehmen kann?
Vielen Dank schon mal ...