Hey toad,

Could you please explain the following:

- SkelTreeMap: What are you trying to do with it? None of the changes make any
functional difference AFAICS. There's no point "encapsulating" SkelValue stuff
into separate methods; that class is used only within SkelTreeMap.

- SkelBTreeMap: In update(), what did you do to the main loop?

- Notifier: what's it for?

- ObjectProcessor: What's the new stuff (capacity, etc) you've added for?


How is performance now? If it's still a problem, then it'll probably be better
to make the async design changes I mentioned, rather than repeatedly add lots
of hacks that bloat the code. (For example, data structures classes shouldn't
need to have arbitrary queue limits hard-coded into them.)


Some minor changes that I will be making anyways:

1. adding a Objects.idString() instead of using System.identityHashcode in 3
separate classes to do the same thing. Where have you used Object.toString()
implicitly? I only know of "+this+", and I'll be replacing those snippets with
"+Objects.idString(this)+".

2. re-implementing SkelBTreeMap.keySetAutoDeflate() to NOT DUPLICATE CODE.
Instead, BTreeMap.entrySet() will use a separate BTreeIterator class with
parameters/hooks(onDscInto,onAscFrom)/etc which SkelBTreeMap can use

3. finding a better alternative to TaskAbortExceptionConverter and
ExceptionConverter which iirc were temporary hacks anyways.


Ximin



Reply via email to