vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Performancesteigerung in meiner Funktion? 
Autor: SenZe
Datum: 13.10.08 23:02

Hallo liebes Forum,
Findet ihr in meiner Funktion noch Möglichkeiten, die Performance zu steigern?
Hier der Code:
Private Sub CrawlFolder(ByVal strfolder As String)
 
List1.Clear
ProgressBar1.Value = 0
ProgressBar2.Value = 0
 
Set objXML = New MSXML2.DOMDocument40
Set folder = FSO.GetFolder(strfolder)
objXML.validateOnParse = True
 
counter = 0
 
'start -> timer an (misst die Dauer der Sub)
Dim t
t = Timer()
 
str = Text1.Text
str3 = Text2.Text
 
'hier gehts richtig los
For Each file In folder.Files
 
Set objXML = New MSXML2.DOMDocument40 'kann die Zeile aus der Schleife raus?
objXML.Load (strfolder & "\" & file.Name)
 
 
j = objXML.selectNodes("root/event/text").length
 
For i = 1 To j
    str2 = objXML.selectSingleNode("root/event[" & i & "]/text").Text
    ProgressBar1.Value = i / j * 100
    If InStr(str2, str) > 0 Or InStr(str2, str3) > 0 Then
        List1.AddItem str2
        List1.Refresh
        Label1.Caption = List1.ListCount & " Suchtreffer."
        Label1.Refresh
    End If
Next
 
counter = counter + 1
ProgressBar2.Value = counter / folder.Files.Count * 100
Next
 
Label1.Caption = List1.ListCount & " Suchtreffer." & vbCrLf & Round((Timer() - _
  t) * 1000, 0) & "ms benötigt!"
 
End Sub
Die Sub durchsucht einen Ordner, in der eine unbekannte Anzahl an xml-Dateien ist, und untersucht bei jeder der xml Dateien, ob sie die Strings text1.text oder text2.text beinhalten. Wenn ja, gibt er sie in die List1 aus. Progressbar1 zeigt den Fortschritt in der derzeitigen Datei, Progressbar2 den Fortschritt im Ordner, sprich wie viele Dateien bereits durchlaufen worden sind.

Hat jemand eine Idee um da vlt noch die ein oder andere Sekunde zu sparen? So eine Funktion ist dann doch schon etwas zeitaufwändiger... Bei 8.5 MB XML-Files je nach Prozessorauslastung und (so hab ich das Gefühl, kann das jemand bestätigen?) jenachdem, wie oft ich die selbe Sub schon einmal gestartet habe, dauert es zwischen 20 und 70 Sekunden.

Freue mich schon auf eure Antworten,
Vielen Dank im Voraus!

LG,Robert

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Performancesteigerung in meiner Funktion?1.446SenZe13.10.08 23:02
Re: Performancesteigerung in meiner Funktion?895DerBaer14.10.08 15:38
Re: Performancesteigerung in meiner Funktion?911VBStein14.10.08 16:43
Re: Performancesteigerung in meiner Funktion?890SenZe14.10.08 18:36
Re: Performancesteigerung in meiner Funktion?886VBStein14.10.08 19:14
Re: Performancesteigerung in meiner Funktion?842SenZe14.10.08 20:53
Re: Performancesteigerung in meiner Funktion?874VBStein15.10.08 17:57
Re: Performancesteigerung in meiner Funktion?863SenZe15.10.08 18:23
Re: Performancesteigerung in meiner Funktion?901SenZe15.10.08 20:06
Re: Performancesteigerung in meiner Funktion?852VBStein15.10.08 20:20
Re: Performancesteigerung in meiner Funktion?844SenZe19.10.08 19:56

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel