I plan to replace all AttributeDescription pointer references with array
references instead. It makes back-mdb a lot more portable, and it also saves
us 4 bytes for every attribute on 64 bit machines.
At a microscopic level it imposes some extra overhead on each reference
(instead of a direct pointer deref, you have to do pointer+offset arithmetic)
but on modern CPUs simple address offsets like this come for free anyway.
A change of this nature will necessarily touch the majority of slapd code as
well as 3rd party overlays. Making this switch will mean that patches for RE24
will almost always be incompatible with patches for HEAD/RE25.
Very likely the same change should be made for the rest of the common data
types in slapd. (E.g., ObjectClasses, AttributeTypes, Syntaxes, etc.) But
since AttributeDescriptions are used in every Entry these will have the most
impact on slapd's memory footprint, the others are inconsequential.
--
-- Howard Chu
CTO, Symas Corp.
http://www.symas.com
Director, Highland Sun
http://highlandsun.com/hyc/
Chief Architect, OpenLDAP
http://www.openldap.org/project/