sounds like a plan.

angela

On 06/02/14 10:45, "Thomas Mueller" <[email protected]> wrote:

>Hi,
>
>We have some abstract classes that implement some methods for convenience.
>For example, AbstractBlob.equals() is implemented by comparing all bytes
>of a blob, which is very slow (OAK-1392). Or
>AbstractNodeState.compareAgainstBaseState.
>
>Because we forgot(?) to override those methods, we sometimes ended up with
>very slow performance.
>
>I would prefer if the implementations in the abstract classes are not
>slow. Instead, I would prefer if such methods would be abstract or not
>implemented (in the case of equals). If a "convenience" implementation is
>useful, but slow, it should have a different name, for example
>"equalsBruteForce" or
>AbstractNodeState.compareAgainstBaseStateBruteForce(..).
>
>That way, a non-abstract implementation could still use the default (slow)
>implementation (for example for the in-memory case, or if the amount of
>data is known to be small), but it would have to do that explicitly.
>
>Regards,
>Thomas
>

Reply via email to