09:08
So now I have 1899912 in 95 seconds, which is about 20KiB/s which is a minor improvement.
10:17
What I can do for DPIS is make it so the bytes are offered first before reading. Currently it tries to read, then fills it. If I offer first then there would be less of a chance of the pipeline stalling.
10:22
Drain before gives me 100 seconds, I will run it again.
10:27
Now it gives 88 seconds which gives me about 22KiB/s.
10:30
HuffmanTree.Traverser
needs to get out of its class and in its own file.
Then perform some optimizations in that class. Following that add a
HuffmanTreeInt
which uses integer based values so that there is no need
for boxing and such. Then following that would probably be a rewrite of the
inflate code so that it is much faster. Currently the inflate code has lots
of methods called, so there is much overhead and such.
11:49
Making it integer did not do much at all.
15:46
I suppose what I can do instead of stalling, would be to just retry in some conditions.
18:54
I generated an extremely simple binary that runs on Linux MIPS (big endian though). I should put these practice binaries in the repository in an encoded form.
21:16
I will need standard interfaces for the emulator for memory and such. This would be associated with the CPUState.