TiraLabra/TiraLabra — pull request #42 by Valtis (2013-08-08 22:04:44+00:00)
Title: Deadline 2 pull request

Ohjelma on edistynyt hyvin tällä viikolla. Algoritmi toimii testien perusteella oikein, neljän eri tiedoston, joista 3 tekstitiedostoja ja yksi mp3 pakkaus ja purku onnistuu (tiedostojen checksumit samat). Lisäksi hashmap, arraylist ja minimipriorityqueue on toteutettu.

Algoritmi kärsii kumminkin huonosta toteutuksesta ja suuri osa pitänee toteuttaa jollakin tavalla uusiksi. Lajaa ArrayList -muotoisten listojen käyttö kuluttaa järkyttävästi muistia koska jvm kuluttaa 8 tavua tietoa yhden olion ylläpitoon -> muistin kulutus ~9 tavua per tiedoston tavu + muut tietorakenteet. Jo 70 megatavun tiedoston pakkausyritys heittää outofmemoryexceptionin. Lisäksi algoritmi toimii aika hitaasti. Ensi viikon aikana lienee suurehko refaktorointi edessä.

Testaus kattaa tällä hetkellä lähinnä omat tietorakenneimplementaatiot. Kunhan saan korjattua algoritmin toteutuksen niin että se ei kuluta 10 - 15x enemmän muistia kuin tiedostolla on kokoa, alan toteuttaa yksikkötestejä myös algoritmin toteutukselle.

Javadocin kattavuus ei myöskään ole aivan 100% koska luulin että palautus olisi vasta perjantai-illaksi ja olin suunitellut sen täydennyksen perjantaille.