directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <>
Subject Re: Some basic question
Date Thu, 12 May 2011 10:14:27 GMT
On 5/12/11 12:02 PM, Rajesh Akkineni wrote:
> Hi,
>>> So, If I need to do some kind of storage optimization, I can 
>>> implement my own subclasses of Value and implement my own 
>>> externalization logic?
>>> And it should not cause much problem to existing code, right?
>> Why would you do that ? Again, we didn't spent any time thinking 
>> about optimizing this part because the gain would be absolutely 
>> unnoticed. There are way more time consummed in many other parts of 
>> the server, and any kind of optimisation in this area would just be a 
>> waste of time...
>> Just do one thing : write a simple test looping on some entries, 
>> searching for a boolean value or an integer value, and check with a 
>> profiler where exactly the time is being consumed...
> I understand your point. My question is a theoretical one. Anyway now 
> I understand why those are not implemented.
> Surly I will look at other places to do optimization.

If you are digging in this area, we have left some work to be done. Let 
me explain.

A LDAP server is used to store data, some of them could be quite large 
(pictures, large texts, etc). Right now, with the StringValue and 
BinaryValue, those values are stored in memory. When we created those 
classes we knew that at some point, we would like to have some streamed 
version of those classes, by extending them.

A streamed value will contain a pointer to the file storing the real 
value, but the access to the data will be the same. That means we must 
be able to access the data byte by byte (or char by char), but reading 
them from a file.

This is a part we didn't had time to work on, but most certainly 
something worth some love...

Emmanuel L├ęcharny

View raw message