Hmm... Might be hard to prove whether removing that would be a net win or net loss in the current code base. I'll do some tests and report back.
________________________________ From: Stack <[email protected]> To: [email protected]; lars hofhansl <[email protected]> Sent: Wednesday, November 23, 2011 8:41 PM Subject: Re: Size of KeyValue On Wed, Nov 23, 2011 at 3:40 PM, lars hofhansl <[email protected]> wrote: > Looking at KeyValue I see three variable purely used for caching: > timestampCache(long), rowCache(byte[]), and keyLength(int). > > From a quick glance over the code I do not see many spots where we repeatedly > get the TS, rowKey, of keyLength from the same KV. > Together these consume 24 bytes (almost 1/2 of KeyValue's constant memory > overhead) on every key value created, and we create > a *lot* KVs (real and "fake" ones) during scanning and seeking. > > Were these added to address specific performance concerns? If not, we might > consider removing these. > IIRC, I added them after watching stuff in a profiler (a long time ago). Things change. Thats a lot of static mem to give up. St.Ack
