[Verse-dev] how fast should verse be?

Eskil Steenberg eskil at obsession.se
Tue Mar 8 22:19:43 CET 2005


Hi

I have worked the last few days on optimizing verse. The test i have been
running involves subscribing to a 1024'1024 image in 8bit RGB. This took
about 25 seconds in the server end and now its down to less then a second.
sending takes way more CPU the receving the data so that is where im going
to consentrate.

As it turns out sending is very quick, but packing is slower. this image
uses about 49000 tiles. funy thing is that packing the first löayer takes
0.03 seconds, and the two layers after that take roughly 10 times as long
time. I have no idea what so ever why. If any one is interssted in trying
to profile it and figure it out i would very much like to know what is
going on.

The packing issiue used to come down to sorting the commands something
that was very slow. And the more comands that are already in the pipe the
slower it got. So that i did was that i put a maximum number of sorted
commands in the pipeline and let all other commands wait in an unsorted
que. This helps a lot, it also makes the nak/ack searches in the history a
lot quicker. (still it wouldent be a bad thing to optimize that further.)

Now i get to the isiue of 49000 commands means 49000 tiles means
allocations. I used to chave code that could re-use and command buffers,
how ever this buffer had a maximum size of 256 commands... Needless to say
this as way too small. so i re wrote an uped the buffer to 50.000, now we
got some speed. This is actiualy over kill, it takes  about 100MB of ram.
But it would still be a good thing to have this buffer to be set to
something larger then 256. So my general question is how much ram do you
think verse can take up?

Cheers

E



More information about the Verse-dev mailing list