[Date Prev][Date Next] [Chronological] [Thread] [Top]

ber_memalloc size distribution of back-ldbm



Below is the distribution of memory requests to ber_memalloc.
Numbers are obtained while searching for cn=* from 100K entry directory.
As you can see, there are a lot different allocations of small sizes,
as well as some large sizes such as for entries (s=1024).
I hope these numbers will be of help in investigating designs of back-bdb.
I think there are chances of improvement in memory allocation performance.
One option is to incorporate an advanced memory allocator (such as slab
allocator) and
one other possibility is to consolidate similar allocation sizes into
nearby 2^n numbers.

Jong Hyuk Choi
jongchoi@us.ibm.com
IBM Thomas J. Watson Research
Enterprise Linux Group

-----------------------------------------------------------------------------------------------------------

ber_memalloc(1)=7
ber_memalloc(2)=500029
ber_memalloc(3)=1600774
ber_memalloc(4)=203648
ber_memalloc(5)=24109
ber_memalloc(6)=550088
ber_memalloc(7)=264551
ber_memalloc(8)=7531546
ber_memalloc(9)=132804
ber_memalloc(10)=169581
ber_memalloc(11)=370644
ber_memalloc(12)=3215839
ber_memalloc(13)=718256
ber_memalloc(14)=612916
ber_memalloc(15)=185561
ber_memalloc(16)=3664731
ber_memalloc(17)=177939
ber_memalloc(18)=173692
ber_memalloc(19)=68110
ber_memalloc(20)=286008
ber_memalloc(21)=249442
ber_memalloc(22)=24564
ber_memalloc(23)=41142
ber_memalloc(24)=51654
ber_memalloc(25)=531898
ber_memalloc(26)=83487
ber_memalloc(27)=32339
ber_memalloc(28)=42673
ber_memalloc(29)=35419
ber_memalloc(30)=48841
ber_memalloc(31)=60638
ber_memalloc(32)=127210
ber_memalloc(33)=110763
ber_memalloc(34)=119258
ber_memalloc(35)=33997
ber_memalloc(36)=25361
ber_memalloc(37)=17492
ber_memalloc(38)=27040
ber_memalloc(39)=28847
ber_memalloc(40)=25698
ber_memalloc(41)=63630
ber_memalloc(42)=115062
ber_memalloc(43)=28814
ber_memalloc(44)=30753
ber_memalloc(45)=39758
ber_memalloc(46)=46247
ber_memalloc(47)=27963
ber_memalloc(48)=27392
ber_memalloc(49)=26146
ber_memalloc(50)=31608
ber_memalloc(51)=20100
ber_memalloc(52)=17607
ber_memalloc(53)=15191
ber_memalloc(54)=12184
ber_memalloc(55)=9488
ber_memalloc(56)=7030
ber_memalloc(57)=5347
ber_memalloc(58)=3633
ber_memalloc(59)=2446
ber_memalloc(60)=1507
ber_memalloc(61)=967
ber_memalloc(62)=513
ber_memalloc(63)=293
ber_memalloc(64)=142
ber_memalloc(65)=85
ber_memalloc(66)=34
ber_memalloc(67)=15
ber_memalloc(68)=8
ber_memalloc(69)=9
ber_memalloc(70)=2
ber_memalloc(71)=3
ber_memalloc(75)=3
ber_memalloc(79)=1
ber_memalloc(83)=2
ber_memalloc(84)=1
ber_memalloc(86)=2
ber_memalloc(90)=1
ber_memalloc(91)=2
ber_memalloc(92)=1
ber_memalloc(94)=2
ber_memalloc(96)=2
ber_memalloc(97)=1
ber_memalloc(99)=1
ber_memalloc(101)=1
ber_memalloc(102)=1
ber_memalloc(106)=1
ber_memalloc(107)=1
ber_memalloc(108)=1
ber_memalloc(111)=1
ber_memalloc(113)=4
ber_memalloc(115)=3
ber_memalloc(116)=3
ber_memalloc(117)=1
ber_memalloc(118)=1
ber_memalloc(119)=1
ber_memalloc(120)=1
ber_memalloc(121)=3
ber_memalloc(123)=2
ber_memalloc(125)=2
ber_memalloc(126)=1
ber_memalloc(127)=1
ber_memalloc(128)=1
ber_memalloc(130)=2
ber_memalloc(132)=1
ber_memalloc(133)=2
ber_memalloc(137)=1
ber_memalloc(138)=2
ber_memalloc(141)=1
ber_memalloc(144)=1
ber_memalloc(145)=1
ber_memalloc(146)=1
ber_memalloc(147)=2
ber_memalloc(150)=2
ber_memalloc(151)=4
ber_memalloc(152)=1
ber_memalloc(155)=4
ber_memalloc(157)=2
ber_memalloc(158)=1
ber_memalloc(159)=1
ber_memalloc(160)=1
ber_memalloc(161)=1
ber_memalloc(163)=2
ber_memalloc(164)=1
ber_memalloc(167)=1
ber_memalloc(170)=1
ber_memalloc(172)=1
ber_memalloc(173)=1
ber_memalloc(174)=2
ber_memalloc(175)=1
ber_memalloc(176)=3
ber_memalloc(178)=1
ber_memalloc(180)=1
ber_memalloc(181)=1
ber_memalloc(182)=1
ber_memalloc(186)=2
ber_memalloc(188)=1
ber_memalloc(192)=1
ber_memalloc(200)=1
ber_memalloc(214)=2
ber_memalloc(216)=1
ber_memalloc(218)=1
ber_memalloc(222)=1
ber_memalloc(224)=1
ber_memalloc(229)=1
ber_memalloc(385)=1
ber_memalloc(423)=1
ber_memalloc(441)=1
ber_memalloc(443)=1
ber_memalloc(446)=1
ber_memalloc(448)=1
ber_memalloc(1024)=100004
ber_memalloc(4096+)=2