innerhalb der Schleife.Aber ob das den erwünschten Effekt bringt ist fraglich, deshalb noch eine weitere, aber wesentlich kompliziertere Möglichkeit:
Du bildest zuerst von allen Parameternamen einen (eindeutigen) Hash und merkst dir dann den dazugehörigen Parameterindex.
Während der Suche brauchst du dann nur noch vom zu suchenden Parameternamen ebenfalls den Hash bilden und dann in der Hashtabelle den Parameterindex raussuchen.
Sicherheitshalber sollte man zum Schluß noch überprüfen, ob die Parameternamen (den, den man sucht und den, den man gefunden hat) tatsächlich identisch sind, nur für den Fall, das der Hash-Algorithmus doch nicht eindeutig war...
Dieses Vorgehen hat bei uns an anderer Stelle wo auch viele Stringvergleiche nötig waren eine Geschwindigkeitssteigerung um den Faktor 20 gebracht (Faktor!, nicht Prozent :-)
Ein wirklich guter Hash-Algorithmus ist in
http://www.isthe.com/chongo/tech/comp/fnv/
beschrieben. In VBS sieht das dann so aus
Code:
function make_hash(hash_str)
hash = 255
FNV_prime = 97
anz_zeichen = LenB(hash_str)
On Error goto 0
for i = 0 to (anz_zeichen / 2) - 1
hash = hash And &H800FFFFF
hash = hash Xor Asc(MidB(hash_str,2 * i +1 ,2))
hash = hash * FNV_prime
next
make_hash = hash
end function
Die verwendeten Priemzahlen sind zwar deutlich kleiner als im Original, waren aber für uns ausreichend.
Viel Erfolg
Tapani
------------------
Don't take life so seriously....
it's not a permanent condition
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP