A legjobb tömörítő program
  • Frayer
    #73
    Sziasztok.
    Újból írok ebbe a topikba.
    A tömörítő algoritmus optimalizálásának a közepén járok még mindig.
    Sajnos nem megy olyan gyorsan mint amilyenre számítottam.

    De most volt egy áttörés, és most úgy néz ki a helyzet hogy sikerült elérnem azt hogy egy iteráció alatt az adatot eredeti méretének 82-70 %-ára csomagoljam be, olyan feltételek mellett,hogy az eredeti adatokat maradéktalanul vissza lehessen állítani, bitről bitre teljesen egyezzen az eredetivel. A másik kritérium, hogy az adatok csomagolt állapotban is tovább tömöríthetőek legyenek. Örülök, mert sikerült elérnem,hogy percek helyett másodpercek alatt lehessen becsomagolni pár tíz megás állományt.
    De még így is nagyon lassú, mivel alapvetően a bájtokban lévő biteket egy olyan vektorban kezelem amikben bájt méretű alapegységek vannak.
    Tehát egy bit egy bájtot foglal le, így 8X lassabban dolgozik a cpu vele, ha a sávszélességgel számolunk.
    A program nem számolás igényes, nem használ lebegőpontos egységet, csak integert, elvétve. DE, viszont tele van az elgoritmus, elágazásokkal, nagyon sok, méghozzá olyanokkal amiknél semmit nem ér a modern processzor elágazás becslés áramköre. Teljesen kiszáíthatalan ugrások tarkítják a munkamentet. Ha készen lesz a végső elgoritmus, minden féle képpen célhardwert kell hozzá építeni ha gyorsan kell hogy működjön.
    Egy normális áramkör erre az elgoritmusra optimalizálva szerintem azonos órajelen 50-80 X is gyorsabb lehet az x86 os architektúránál.