Domino 9 und frühere Versionen > ND8: Entwicklung
Lotus Notes 8.5.2 Skript Verarbeitung ehrheblich langsamer als 7.0.2
rabdos:
Hallo Leute,
nach fast 7 jähriger Forumszugehörigkeit ohne eigenen Post, muss ich nun meinen ersten aufmachen. Bisher konnte ich immer alles über die Suche finden ;)
Aufgrund der erweiterten Nutzung von Webservice steigen wir von 7.0.2 auf 8.5.2 um. Ich habe natürlich viele alte Skripte in meiner Datenbank und eines davon wird zur Erarbeitung von mehreren Dateien benutzt. Dieses Skript erzeugt intern mehrere Listen, die groesste hat ca. 20000 Segmente und verarbeitet diese entsprechend.
Unter Notes 7 dauerte dieses Skript ca. 1 Std und unter 8.5.2 benötigt es ca. 8 Stunden. Ich werde hier fast verrückt, weil ich das Problem nicht finde, warum das so ist. Das Skript ist objektorientiert mit verschiedenen Klassen programmiert. Hat ca. 1900 (inkl. Leerzeilen) Zeilen und macht halt ne Menge.
Aufgefallen ist mir, dass das Skript mit der Zeit immer langsamer wird. Laut meiner Fortschrittsanzeige benötigen die ersten 10% ca 15 Minuten und danach wird es exponentiell immer langsamer in der Verarbeitung.
Kennt einer von euch dieses Problem mit der Verarbeitung von Arrays unter 8.5.2 ? Das ist das einzige was ich mir vorstellen kann, dass hier ein Problem mit den Listen vorliegt.
Ich habe das Skript vorhin auf einem PC das Skript unter Notes 7 gestartet und es ist nach einer Laufzeit von 30 Minuten bei 76%. Es muss an irgendwas unter 8.5 liegen.
Danke
Torsten
eknori:
Der einzige Weg, das zuverlässig herauszufinden dürfte das Profiling des Codes sein. Schlage vor, du setzt dich mit Teamstudio in Verbindung und holst dir eine Testlizenz für den Profiler. Dann siehst du, wo die Zeit verbraten wird.
Peter Klett:
Arbeitest Du mit Arrays (Redim meinArray (20000)) oder mit Listen (Dim meineListe List As ...)?
Hast Du mal die Ressourcen auf den Maschinen verglichen? Kann es sein, dass unter 8.5.2 weniger freier Arbeitsspeicher bereit steht und das Swappen Zeit kostet (falls das überhaupt genutzt werden kann, nur eine "aus-dem-Bauch"-Idee)?
rabdos:
das Format meiner Listen sieht so aus
Public Artikel List As Artikel
und dann hat z.b. die Klasse Artikel
Sub New(inDoc As NotesDocument, inNr As Integer, inMonBack As Integer, inLogFile As LogFile, profil As notesdocument)
Set logFile = inLogFile
Call GetAttribs(inDoc, inNr, inMonBack, profil)
End Sub
Alles eigentlich kein Hexenwerk. Hab das Ding grad ja unter Notes 7 laufen lassen und der Durchlauf hat unter einer Stunde gedauert. Das Skript lasse ich auch lokal in einer Kopie laufen, daher kann es kein Ressourcenproblem sein.
Teamstudio hab ich sogar drauf, aber mit dem Profiler noch nie gearbeitet. Mal sehen ob ich den zum laufen bekomm. Nutz immer nur den Configurator wenn ich was suche.
ghostmw:
Moin,
was steckt denn da für ein Betriebssystem drunter, habe grade bei einem Kunden ein ähnliches Verhalten.
Der Kunde ist bei seinen Clients von XP nach Win7 gewechselt, und bei einigen Buttons hinter denen Lotusscript Klassen und Funktionen stecken, laufen auch schrecklich langsam und man muss 2-3 mal klicken, bis es reagiert.
Könnte das damit in Zusammenhang stehen ?
Grüsse
Marco
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln