Description
Right now, we clone the entries we will return to the client just after having fetched them from the backend. This is necessary as we will remove and add some attributes and values from those entries, to comply with the user request.
Another idea would be to compute the attributes (and values) to return, and when done, create a new entry with all those attributes.
As a user rarely requires all the attributes (including the operational ones), this might save some processing, as in the current system we copy all the attributes, then we remove some of them.
Even better, when the CoreSession is called from the LdapProtocol layer, we don't have to copy the attributes at all, we just have to write on the socket only the required attributes. This will be even faster than what we currently do.