Unique Superseded Update

Unique Superseded Update

Postby aker » 07.06.2012, 21:11

Ich habe bei der Entwicklung verschiedener Programme in VB2008 mitbekommen, wie man die Ermittlung von Superseded Updates beschleunigen.
Im Moment funktioniert das ja so, dass ein sortiertes Dokument über einen Leser zeilenweise gelesen wird und beim Vergleich
Code: Select all
Do While Not inputFile.AtEndOfStream
  strCurrentLine = inputFile.ReadLine()
  If strCurrentLine <> strLastLine Then
    outputFile.WriteLine(strCurrentLine)
  End If
  strLastLine = strCurrentLine
Loop

mit der letzten Zeile abgeglichen wird.
Es ist aber auch möglich zu prüfen, ob ein String eine Zeile bereits enthält (getrennt mit Trennzeichen, z.B. ";")
Code: Select all
If Instr(strFeatureID,"HMV") <> 0 then
   strfeaturetype="HMV"
elseif Instr(strFeatureID,"HMR") <> 0 then
   strfeaturetype="HMR"
elseif Instr(strFeatureID,"SHMR") <> 0 then
   strfeaturetype="SHMR"
elseif Instr(strFeatureID,"SHMV") <> 0 then
   strfeaturetype="SHMV"
End if
(Quelle)
Diesen String könnte man dann wie im Orginal über einen Streamwriter geschrieben werden.
Das würde das Sortieren ersparen und den Vorgang beschleunigen.

VB2008 Beispielcode
Code: Select all
dim oldString as string = "a;b;c;b;a"
dim newString as string = ""
for i as integer = 0 to Ubound(Split(oldString, ";"))
if oldString = "" then
newString = Split(oldString, ";")(i)
else
if newString.Contains(Split(oldString, ";")(i)) = False then
newString = newString = newString & ";" & Split(oldString, ";")(i)
end if
end if
next
' newString wäre nun gleich "a;b;c"


Viele Grüsse
Wer Rechtschreibfehler findet, darf sie behalten oder an den Meistbietenden versteigern. / Everybody finding a misspelling is allowed to keep or sell it.
aker

WSUS Offline Update „Community Edition“
https://gitlab.com/wsusoffline/wsusoffline/-/releases
aker
 
Posts: 3999
Joined: 02.03.2011, 15:32

Re: Unique Superseded Update

Postby WSUSUpdateAdmin » 14.06.2012, 13:23

Moin!

Ich hab' mal spaßeshalber vier weitere Messpunkte eingebaut:
Code: Select all
14.06.2012 14:19:49,68 - Info: Starting sort
14.06.2012 14:19:49,85 - Info: Ending sort
14.06.2012 14:19:49,85 - Info: Starting unique
14.06.2012 14:19:50,26 - Info: Ending unique

Daher sehe ich hier im Moment keinen Handlungsbedarf.

Gruß
Torsten Wittrock
WSUSUpdateAdmin
Administrator
 
Posts: 2245
Joined: 07.07.2009, 14:38

Re: Unique Superseded Update

Postby aker » 14.06.2012, 15:07

Gut, bei meinem lahmen PC dauert das. Darum der Code zu Beschleunigung

Viele Grüsse
Wer Rechtschreibfehler findet, darf sie behalten oder an den Meistbietenden versteigern. / Everybody finding a misspelling is allowed to keep or sell it.
aker

WSUS Offline Update „Community Edition“
https://gitlab.com/wsusoffline/wsusoffline/-/releases
aker
 
Posts: 3999
Joined: 02.03.2011, 15:32

Re: Unique Superseded Update

Postby Denniss » 14.06.2012, 15:42

Genau, das dürfte sehr stark von der Leistungsfähigkeit des Prozessors (und wohl Speicher) abhängen - viel Kerne, hohe Taktfrequenz und viel Speicher beschleunigen das halt. Eine langsame oder stromsparende CPU niedriger Taktfrequenz und Kernzahl würde bei Optimierungen im Code sicherlich deutlicher abweichen.
Denniss
 
Posts: 869
Joined: 01.08.2009, 10:51


Return to Download

Who is online

Users browsing this forum: No registered users and 224 guests

cron