vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Fortgeschrittene Programmierung
Code Optimierung 
Autor: NeoInferno
Datum: 03.05.05 15:35

Hi,
ich spiele z.Z. mit Kompressionsalgorithmen herum. Dabei ist aber mein erster, eine RLE-Codierung schon seeehr langsam - er braucht über 10 Sekunden für eine Datei von über 100 kb (!). Bei über 1 MB verfielfacht sich die Zeit.

Darum wäre ich sehr dankbar, wenn jemand Ideen hätte, den folgenden Code zu optimieren. Ich sehe da kaum mehr Möglichkeiten (zumindest in purem VB).
While n <= Len(Text)
    'Aktuelles Zeichen holen
    CharNow = Mid$(Text, n, 1)
 
    '2 gleiche Zeichen gefunden
    If CharNow = CharPrev Then
        'Gleiche Zeichen zählen
        CharCount = 0
        Do
            CharCount = CharCount + 1
            CharTmp = Mid$(Text, n + CharCount, 1)
        Loop Until CharTmp <> CharNow Or CharCount >= 254
        'Codiert notieren
        Text2 = Text2 & CharNow & Chr$(CharCount + 1)
        'gefundene Zeichen überspringen
        n = n + CharCount
    'Keine gleichen Zeichen
    Else
        Text2 = Text2 & CharNow
        CharPrev = CharNow
        n = n + 1
    End If
 
    DoEvents
Wend
Kann übrigens sein, dass der Code für RLE etwas seltsam anmutet, aber er funktioniert.

Besten Dank schonmal
Neo
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Code Optimierung1.026NeoInferno03.05.05 15:35
Re: Code Optimierung1.065T.i.m.03.05.05 17:18
Re: Code Optimierung716T.i.m.03.05.05 17:23
Re: Code Optimierung668NeoInferno04.05.05 12:47
Re: Code Optimierung694T.i.m.04.05.05 13:12
Re: Code Optimierung669NeoInferno04.05.05 13:48
Re: Code Optimierung (oder so....)700T.i.m.04.05.05 15:58
Re: Code Optimierung (oder so....)651NeoInferno04.05.05 16:27
Re: Assembler777T.i.m.04.05.05 21:12

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-2025 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