hash_usenix.ps
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:155k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. %!PS-Adobe-1.0
  2. %%Creator: utopia:margo (& Seltzer,608-13E,8072,)
  3. %%Title: stdin (ditroff)
  4. %%CreationDate: Tue Dec 11 15:06:45 1990
  5. %%EndComments
  6. % @(#)psdit.pro 1.3 4/15/88
  7. % lib/psdit.pro -- prolog for psdit (ditroff) files
  8. % Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved.
  9. % last edit: shore Sat Nov 23 20:28:03 1985
  10. % RCSID: $Header: psdit.pro,v 2.1 85/11/24 12:19:43 shore Rel $
  11. % Changed by Edward Wang (edward@ucbarpa.berkeley.edu) to handle graphics,
  12. % 17 Feb, 87.
  13. /$DITroff 140 dict def $DITroff begin
  14. /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
  15. /xi{0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
  16.  /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F
  17.  /pagesave save def}def
  18. /PB{save /psv exch def currentpoint translate 
  19.  resolution 72 div dup neg scale 0 0 moveto}def
  20. /PE{psv restore}def
  21. /arctoobig 90 def /arctoosmall .05 def
  22. /m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
  23. /tan{dup sin exch cos div}def
  24. /point{resolution 72 div mul}def
  25. /dround {transform round exch round exch itransform}def
  26. /xT{/devname exch def}def
  27. /xr{/mh exch def /my exch def /resolution exch def}def
  28. /xp{}def
  29. /xs{docsave restore end}def
  30. /xt{}def
  31. /xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
  32.  {fonts slotno fontname findfont put fontnames slotno fontname put}if}def
  33. /xH{/fontheight exch def F}def
  34. /xS{/fontslant exch def F}def
  35. /s{/fontsize exch def /fontheight fontsize def F}def
  36. /f{/fontnum exch def F}def
  37. /F{fontheight 0 le{/fontheight fontsize def}if
  38.  fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
  39.  fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
  40.  makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}def
  41. /X{exch currentpoint exch pop moveto show}def
  42. /N{3 1 roll moveto show}def
  43. /Y{exch currentpoint pop exch moveto show}def
  44. /S{show}def
  45. /ditpush{}def/ditpop{}def
  46. /AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}def
  47. /AN{4 2 roll moveto 0 exch ashow}def
  48. /AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}def
  49. /AS{0 exch ashow}def
  50. /MX{currentpoint exch pop moveto}def
  51. /MY{currentpoint pop exch moveto}def
  52. /MXY{moveto}def
  53. /cb{pop}def % action on unknown char -- nothing for now
  54. /n{}def/w{}def
  55. /p{pop showpage pagesave restore /pagesave save def}def
  56. /Dt{/Dlinewidth exch def}def 1 Dt
  57. /Ds{/Ddash exch def}def -1 Ds
  58. /Di{/Dstipple exch def}def 1 Di
  59. /Dsetlinewidth{2 Dlinewidth mul setlinewidth}def
  60. /Dsetdash{Ddash 4 eq{[8 12]}{Ddash 16 eq{[32 36]}
  61.  {Ddash 20 eq{[32 12 8 12]}{[]}ifelse}ifelse}ifelse 0 setdash}def
  62. /Dstroke{gsave Dsetlinewidth Dsetdash 1 setlinecap stroke grestore
  63.  currentpoint newpath moveto}def
  64. /Dl{rlineto Dstroke}def
  65. /arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop
  66.  currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
  67.  currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def
  68. /Dc{dup arcellipse Dstroke}def
  69. /De{arcellipse Dstroke}def
  70. /Da{/endv exch def /endh exch def /centerv exch def /centerh exch def
  71.  /cradius centerv centerv mul centerh centerh mul add sqrt def
  72.  /eradius endv endv mul endh endh mul add sqrt def
  73.  /endang endv endh atan def
  74.  /startang centerv neg centerh neg atan def
  75.  /sweep startang endang sub dup 0 lt{360 add}if def
  76.  sweep arctoobig gt
  77.  {/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def
  78.   /midh midang cos midrad mul def /midv midang sin midrad mul def
  79.   midh neg midv neg endh endv centerh centerv midh midv Da
  80.   Da}
  81.  {sweep arctoosmall ge
  82.   {/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def
  83.    centerv neg controldelt mul centerh controldelt mul
  84.    endv neg controldelt mul centerh add endh add
  85.    endh controldelt mul centerv add endv add
  86.    centerh endh add centerv endv add rcurveto Dstroke}
  87.   {centerh endh add centerv endv add rlineto Dstroke}
  88.   ifelse}
  89.  ifelse}def
  90. /Dpatterns[
  91. [%cf[widthbits]
  92. [8<0000000000000010>]
  93. [8<0411040040114000>]
  94. [8<0204081020408001>]
  95. [8<0000103810000000>]
  96. [8<6699996666999966>]
  97. [8<0000800100001008>]
  98. [8<81c36666c3810000>]
  99. [8<0f0e0c0800000000>]
  100. [8<0000000000000010>]
  101. [8<0411040040114000>]
  102. [8<0204081020408001>]
  103. [8<0000001038100000>]
  104. [8<6699996666999966>]
  105. [8<0000800100001008>]
  106. [8<81c36666c3810000>]
  107. [8<0f0e0c0800000000>]
  108. [8<0042660000246600>]
  109. [8<0000990000990000>]
  110. [8<0804020180402010>]
  111. [8<2418814242811824>]
  112. [8<6699996666999966>]
  113. [8<8000000008000000>]
  114. [8<00001c3e363e1c00>]
  115. [8<0000000000000000>]
  116. [32<00000040000000c00000004000000040000000e0000000000000000000000000>]
  117. [32<00000000000060000000900000002000000040000000f0000000000000000000>]
  118. [32<000000000000000000e0000000100000006000000010000000e0000000000000>]
  119. [32<00000000000000002000000060000000a0000000f00000002000000000000000>]
  120. [32<0000000e0000000000000000000000000000000f000000080000000e00000001>]
  121. [32<0000090000000600000000000000000000000000000007000000080000000e00>]
  122. [32<00010000000200000004000000040000000000000000000000000000000f0000>]
  123. [32<0900000006000000090000000600000000000000000000000000000006000000>]]
  124. [%ug
  125. [8<0000020000000000>]
  126. [8<0000020000002000>]
  127. [8<0004020000002000>]
  128. [8<0004020000402000>]
  129. [8<0004060000402000>]
  130. [8<0004060000406000>]
  131. [8<0006060000406000>]
  132. [8<0006060000606000>]
  133. [8<00060e0000606000>]
  134. [8<00060e000060e000>]
  135. [8<00070e000060e000>]
  136. [8<00070e000070e000>]
  137. [8<00070e020070e000>]
  138. [8<00070e020070e020>]
  139. [8<04070e020070e020>]
  140. [8<04070e024070e020>]
  141. [8<04070e064070e020>]
  142. [8<04070e064070e060>]
  143. [8<06070e064070e060>]
  144. [8<06070e066070e060>]
  145. [8<06070f066070e060>]
  146. [8<06070f066070f060>]
  147. [8<060f0f066070f060>]
  148. [8<060f0f0660f0f060>]
  149. [8<060f0f0760f0f060>]
  150. [8<060f0f0760f0f070>]
  151. [8<0e0f0f0760f0f070>]
  152. [8<0e0f0f07e0f0f070>]
  153. [8<0e0f0f0fe0f0f070>]
  154. [8<0e0f0f0fe0f0f0f0>]
  155. [8<0f0f0f0fe0f0f0f0>]
  156. [8<0f0f0f0ff0f0f0f0>]
  157. [8<1f0f0f0ff0f0f0f0>]
  158. [8<1f0f0f0ff1f0f0f0>]
  159. [8<1f0f0f8ff1f0f0f0>]
  160. [8<1f0f0f8ff1f0f0f8>]
  161. [8<9f0f0f8ff1f0f0f8>]
  162. [8<9f0f0f8ff9f0f0f8>]
  163. [8<9f0f0f9ff9f0f0f8>]
  164. [8<9f0f0f9ff9f0f0f9>]
  165. [8<9f8f0f9ff9f0f0f9>]
  166. [8<9f8f0f9ff9f8f0f9>]
  167. [8<9f8f1f9ff9f8f0f9>]
  168. [8<9f8f1f9ff9f8f1f9>]
  169. [8<bf8f1f9ff9f8f1f9>]
  170. [8<bf8f1f9ffbf8f1f9>]
  171. [8<bf8f1fdffbf8f1f9>]
  172. [8<bf8f1fdffbf8f1fd>]
  173. [8<ff8f1fdffbf8f1fd>]
  174. [8<ff8f1fdffff8f1fd>]
  175. [8<ff8f1ffffff8f1fd>]
  176. [8<ff8f1ffffff8f1ff>]
  177. [8<ff9f1ffffff8f1ff>]
  178. [8<ff9f1ffffff9f1ff>]
  179. [8<ff9f9ffffff9f1ff>]
  180. [8<ff9f9ffffff9f9ff>]
  181. [8<ffbf9ffffff9f9ff>]
  182. [8<ffbf9ffffffbf9ff>]
  183. [8<ffbfdffffffbf9ff>]
  184. [8<ffbfdffffffbfdff>]
  185. [8<ffffdffffffbfdff>]
  186. [8<ffffdffffffffdff>]
  187. [8<fffffffffffffdff>]
  188. [8<ffffffffffffffff>]]
  189. [%mg
  190. [8<8000000000000000>]
  191. [8<0822080080228000>]
  192. [8<0204081020408001>]
  193. [8<40e0400000000000>]
  194. [8<66999966>]
  195. [8<8001000010080000>]
  196. [8<81c36666c3810000>]
  197. [8<f0e0c08000000000>]
  198. [16<07c00f801f003e007c00f800f001e003c007800f001f003e007c00f801f003e0>]
  199. [16<1f000f8007c003e001f000f8007c003e001f800fc007e003f001f8007c003e00>]
  200. [8<c3c300000000c3c3>]
  201. [16<0040008001000200040008001000200040008000000100020004000800100020>]
  202. [16<0040002000100008000400020001800040002000100008000400020001000080>]
  203. [16<1fc03fe07df0f8f8f07de03fc01f800fc01fe03ff07df8f87df03fe01fc00f80>]
  204. [8<80>]
  205. [8<8040201000000000>]
  206. [8<84cc000048cc0000>]
  207. [8<9900009900000000>]
  208. [8<08040201804020100800020180002010>]
  209. [8<2418814242811824>]
  210. [8<66999966>]
  211. [8<8000000008000000>]
  212. [8<70f8d8f870000000>]
  213. [8<0814224180402010>]
  214. [8<aa00440a11a04400>]
  215. [8<018245aa45820100>]
  216. [8<221c224180808041>]
  217. [8<88000000>]
  218. [8<0855800080550800>]
  219. [8<2844004482440044>]
  220. [8<0810204080412214>]
  221. [8<00>]]]def
  222. /Dfill{
  223.  transform /maxy exch def /maxx exch def
  224.  transform /miny exch def /minx exch def
  225.  minx maxx gt{/minx maxx /maxx minx def def}if
  226.  miny maxy gt{/miny maxy /maxy miny def def}if
  227.  Dpatterns Dstipple 1 sub get exch 1 sub get
  228.  aload pop /stip exch def /stipw exch def /stiph 128 def
  229.  /imatrix[stipw 0 0 stiph 0 0]def
  230.  /tmatrix[stipw 0 0 stiph 0 0]def
  231.  /minx minx cvi stiph idiv stiph mul def
  232.  /miny miny cvi stipw idiv stipw mul def
  233.  gsave eoclip 0 setgray
  234.  miny stiph maxy{
  235.   tmatrix exch 5 exch put
  236.   minx stipw maxx{
  237.    tmatrix exch 4 exch put tmatrix setmatrix
  238.    stipw stiph true imatrix {stip} imagemask
  239.   }for
  240.  }for
  241.  grestore
  242. }def
  243. /Dp{Dfill Dstroke}def
  244. /DP{Dfill currentpoint newpath moveto}def
  245. end
  246. /ditstart{$DITroff begin
  247.  /nfonts 60 def % NFONTS makedev/ditroff dependent!
  248.  /fonts[nfonts{0}repeat]def
  249.  /fontnames[nfonts{()}repeat]def
  250. /docsave save def
  251. }def
  252. % character outcalls
  253. /oc{
  254.  /pswid exch def /cc exch def /name exch def
  255.  /ditwid pswid fontsize mul resolution mul 72000 div def
  256.  /ditsiz fontsize resolution mul 72 div def
  257.  ocprocs name known{ocprocs name get exec}{name cb}ifelse
  258. }def
  259. /fractm [.65 0 0 .6 0 0] def
  260. /fraction{
  261.  /fden exch def /fnum exch def gsave /cf currentfont def
  262.  cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
  263.  fnum show rmoveto currentfont cf setfont(244)show setfont fden show 
  264.  grestore ditwid 0 rmoveto
  265. }def
  266. /oce{grestore ditwid 0 rmoveto}def
  267. /dm{ditsiz mul}def
  268. /ocprocs 50 dict def ocprocs begin
  269. (14){(1)(4)fraction}def
  270. (12){(1)(2)fraction}def
  271. (34){(3)(4)fraction}def
  272. (13){(1)(3)fraction}def
  273. (23){(2)(3)fraction}def
  274. (18){(1)(8)fraction}def
  275. (38){(3)(8)fraction}def
  276. (58){(5)(8)fraction}def
  277. (78){(7)(8)fraction}def
  278. (sr){gsave 0 .06 dm rmoveto(326)show oce}def
  279. (is){gsave 0 .15 dm rmoveto(362)show oce}def
  280. (->){gsave 0 .02 dm rmoveto(256)show oce}def
  281. (<-){gsave 0 .02 dm rmoveto(254)show oce}def
  282. (==){gsave 0 .05 dm rmoveto(272)show oce}def
  283. (uc){gsave currentpoint 400 .009 dm mul add translate
  284.      8 -8 scale ucseal oce}def
  285. end
  286. % an attempt at a PostScript FONT to implement ditroff special chars
  287. % this will enable us to 
  288. % cache the little buggers
  289. % generate faster, more compact PS out of psdit
  290. % confuse everyone (including myself)!
  291. 50 dict dup begin
  292. /FontType 3 def
  293. /FontName /DIThacks def
  294. /FontMatrix [.001 0 0 .001 0 0] def
  295. /FontBBox [-260 -260 900 900] def% a lie but ...
  296. /Encoding 256 array def
  297. 0 1 255{Encoding exch /.notdef put}for
  298. Encoding
  299.  dup 8#040/space put %space
  300.  dup 8#110/rc put %right ceil
  301.  dup 8#111/lt put %left  top curl
  302.  dup 8#112/bv put %bold vert
  303.  dup 8#113/lk put %left  mid curl
  304.  dup 8#114/lb put %left  bot curl
  305.  dup 8#115/rt put %right top curl
  306.  dup 8#116/rk put %right mid curl
  307.  dup 8#117/rb put %right bot curl
  308.  dup 8#120/rf put %right floor
  309.  dup 8#121/lf put %left  floor
  310.  dup 8#122/lc put %left  ceil
  311.  dup 8#140/sq put %square
  312.  dup 8#141/bx put %box
  313.  dup 8#142/ci put %circle
  314.  dup 8#143/br put %box rule
  315.  dup 8#144/rn put %root extender
  316.  dup 8#145/vr put %vertical rule
  317.  dup 8#146/ob put %outline bullet
  318.  dup 8#147/bu put %bullet
  319.  dup 8#150/ru put %rule
  320.  dup 8#151/ul put %underline
  321.  pop
  322. /DITfd 100 dict def
  323. /BuildChar{0 begin
  324.  /cc exch def /fd exch def
  325.  /charname fd /Encoding get cc get def
  326.  /charwid fd /Metrics get charname get def
  327.  /charproc fd /CharProcs get charname get def
  328.  charwid 0 fd /FontBBox get aload pop setcachedevice
  329.  2 setlinejoin 40 setlinewidth
  330.  newpath 0 0 moveto gsave charproc grestore
  331.  end}def
  332. /BuildChar load 0 DITfd put
  333. /CharProcs 50 dict def
  334. CharProcs begin
  335. /space{}def
  336. /.notdef{}def
  337. /ru{500 0 rls}def
  338. /rn{0 840 moveto 500 0 rls}def
  339. /vr{0 800 moveto 0 -770 rls}def
  340. /bv{0 800 moveto 0 -1000 rls}def
  341. /br{0 840 moveto 0 -1000 rls}def
  342. /ul{0 -140 moveto 500 0 rls}def
  343. /ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
  344. /bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
  345. /sq{80 0 rmoveto currentpoint dround newpath moveto
  346.     640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
  347. /bx{80 0 rmoveto currentpoint dround newpath moveto
  348.     640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
  349. /ci{500 360 rmoveto currentpoint newpath 333 0 360 arc
  350.     50 setlinewidth stroke}def
  351. /lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def
  352. /lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def
  353. /rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def
  354. /rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def
  355. /lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub
  356.     0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
  357. /rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub
  358.     0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
  359. /lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def
  360. /rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
  361. /lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def
  362. /rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
  363. end
  364. /Metrics 50 dict def Metrics begin
  365. /.notdef 0 def
  366. /space 500 def
  367. /ru 500 def
  368. /br 0 def
  369. /lt 416 def
  370. /lb 416 def
  371. /rt 416 def
  372. /rb 416 def
  373. /lk 416 def
  374. /rk 416 def
  375. /rc 416 def
  376. /lc 416 def
  377. /rf 416 def
  378. /lf 416 def
  379. /bv 416 def
  380. /ob 350 def
  381. /bu 350 def
  382. /ci 750 def
  383. /bx 750 def
  384. /sq 750 def
  385. /rn 500 def
  386. /ul 500 def
  387. /vr 0 def
  388. end
  389. DITfd begin
  390. /s2 500 def /s4 250 def /s3 333 def
  391. /a4p{arcto pop pop pop pop}def
  392. /2cx{2 copy exch}def
  393. /rls{rlineto stroke}def
  394. /currx{currentpoint pop}def
  395. /dround{transform round exch round exch itransform} def
  396. end
  397. end
  398. /DIThacks exch definefont pop
  399. ditstart
  400. (psc)xT
  401. 576 1 1 xr
  402. 1(Times-Roman)xf 1 f
  403. 2(Times-Italic)xf 2 f
  404. 3(Times-Bold)xf 3 f
  405. 4(Times-BoldItalic)xf 4 f
  406. 5(Helvetica)xf 5 f
  407. 6(Helvetica-Bold)xf 6 f
  408. 7(Courier)xf 7 f
  409. 8(Courier-Bold)xf 8 f
  410. 9(Symbol)xf 9 f
  411. 10(DIThacks)xf 10 f
  412. 10 s
  413. 1 f
  414. xi
  415. %%EndProlog
  416. %%Page: 1 1
  417. 10 s 10 xH 0 xS 1 f
  418. 3 f
  419. 22 s
  420. 1249 626(A)N
  421. 1420(N)X
  422. 1547(ew)X
  423. 1796(H)X
  424. 1933(ashing)X
  425. 2467(P)X
  426. 2574(ackage)X
  427. 3136(for)X
  428. 3405(U)X
  429. 3532(N)X
  430. 3659(IX)X
  431. 2 f
  432. 20 s
  433. 3855 562(1)N
  434. 1 f
  435. 12 s
  436. 1607 779(Margo)N
  437. 1887(Seltzer)X
  438. 9 f
  439. 2179(-)X
  440. 1 f
  441. 2256(University)X
  442. 2686(of)X
  443. 2790(California,)X
  444. 3229(Berkeley)X
  445. 2015 875(Ozan)N
  446. 2242(Yigit)X
  447. 9 f
  448. 2464(-)X
  449. 1 f
  450. 2541(York)X
  451. 2762(University)X
  452. 3 f
  453. 2331 1086(ABSTRACT)N
  454. 1 f
  455. 10 s
  456. 1152 1222(UNIX)N
  457. 1385(support)X
  458. 1657(of)X
  459. 1756(disk)X
  460. 1921(oriented)X
  461. 2216(hashing)X
  462. 2497(was)X
  463. 2654(originally)X
  464. 2997(provided)X
  465. 3314(by)X
  466. 2 f
  467. 3426(dbm)X
  468. 1 f
  469. 3595([ATT79])X
  470. 3916(and)X
  471. 1152 1310(subsequently)N
  472. 1595(improved)X
  473. 1927(upon)X
  474. 2112(in)X
  475. 2 f
  476. 2199(ndbm)X
  477. 1 f
  478. 2402([BSD86].)X
  479. 2735(In)X
  480. 2826(AT&T)X
  481. 3068(System)X
  482. 3327(V,)X
  483. 3429(in-memory)X
  484. 3809(hashed)X
  485. 1152 1398(storage)N
  486. 1420(and)X
  487. 1572(access)X
  488. 1814(support)X
  489. 2090(was)X
  490. 2251(added)X
  491. 2479(in)X
  492. 2577(the)X
  493. 2 f
  494. 2711(hsearch)X
  495. 1 f
  496. 3000(library)X
  497. 3249(routines)X
  498. 3542([ATT85].)X
  499. 3907(The)X
  500. 1152 1486(result)N
  501. 1367(is)X
  502. 1457(a)X
  503. 1530(system)X
  504. 1789(with)X
  505. 1968(two)X
  506. 2125(incompatible)X
  507. 2580(hashing)X
  508. 2865(schemes,)X
  509. 3193(each)X
  510. 3377(with)X
  511. 3555(its)X
  512. 3666(own)X
  513. 3840(set)X
  514. 3965(of)X
  515. 1152 1574(shortcomings.)N
  516. 1152 1688(This)N
  517. 1316(paper)X
  518. 1517(presents)X
  519. 1802(the)X
  520. 1922(design)X
  521. 2152(and)X
  522. 2289(performance)X
  523. 2717(characteristics)X
  524. 3198(of)X
  525. 3286(a)X
  526. 3343(new)X
  527. 3498(hashing)X
  528. 3768(package)X
  529. 1152 1776(providing)N
  530. 1483(a)X
  531. 1539(superset)X
  532. 1822(of)X
  533. 1909(the)X
  534. 2027(functionality)X
  535. 2456(provided)X
  536. 2761(by)X
  537. 2 f
  538. 2861(dbm)X
  539. 1 f
  540. 3019(and)X
  541. 2 f
  542. 3155(hsearch)X
  543. 1 f
  544. 3409(.)X
  545. 3469(The)X
  546. 3614(new)X
  547. 3768(package)X
  548. 1152 1864(uses)N
  549. 1322(linear)X
  550. 1537(hashing)X
  551. 1818(to)X
  552. 1912(provide)X
  553. 2189(ef256cient)X
  554. 2484(support)X
  555. 2755(of)X
  556. 2853(both)X
  557. 3026(memory)X
  558. 3324(based)X
  559. 3538(and)X
  560. 3685(disk)X
  561. 3849(based)X
  562. 1152 1952(hash)N
  563. 1319(tables)X
  564. 1526(with)X
  565. 1688(performance)X
  566. 2115(superior)X
  567. 2398(to)X
  568. 2480(both)X
  569. 2 f
  570. 2642(dbm)X
  571. 1 f
  572. 2800(and)X
  573. 2 f
  574. 2936(hsearch)X
  575. 1 f
  576. 3210(under)X
  577. 3413(most)X
  578. 3588(conditions.)X
  579. 3 f
  580. 1380 2128(Introduction)N
  581. 1 f
  582. 892 2260(Current)N
  583. 1196(UNIX)X
  584. 1456(systems)X
  585. 1768(offer)X
  586. 1984(two)X
  587. 2163(forms)X
  588. 2409(of)X
  589. 720 2348(hashed)N
  590. 973(data)X
  591. 1137(access.)X
  592. 2 f
  593. 1413(Dbm)X
  594. 1 f
  595. 1599(and)X
  596. 1745(its)X
  597. 1850(derivatives)X
  598. 2231(provide)X
  599. 720 2436(keyed)N
  600. 939(access)X
  601. 1171(to)X
  602. 1259(disk)X
  603. 1418(resident)X
  604. 1698(data)X
  605. 1858(while)X
  606. 2 f
  607. 2062(hsearch)X
  608. 1 f
  609. 2342(pro-)X
  610. 720 2524(vides)N
  611. 929(access)X
  612. 1175(for)X
  613. 1309(memory)X
  614. 1616(resident)X
  615. 1910(data.)X
  616. 2124(These)X
  617. 2356(two)X
  618. 720 2612(access)N
  619. 979(methods)X
  620. 1302(are)X
  621. 1453(incompatible)X
  622. 1923(in)X
  623. 2037(that)X
  624. 2209(memory)X
  625. 720 2700(resident)N
  626. 1011(hash)X
  627. 1195(tables)X
  628. 1419(may)X
  629. 1593(not)X
  630. 1731(be)X
  631. 1843(stored)X
  632. 2075(on)X
  633. 2191(disk)X
  634. 2360(and)X
  635. 720 2788(disk)N
  636. 884(resident)X
  637. 1169(tables)X
  638. 1387(cannot)X
  639. 1632(be)X
  640. 1739(read)X
  641. 1909(into)X
  642. 2063(memory)X
  643. 2360(and)X
  644. 720 2876(accessed)N
  645. 1022(using)X
  646. 1215(the)X
  647. 1333(in-memory)X
  648. 1709(routines.)X
  649. 2 f
  650. 892 2990(Dbm)N
  651. 1 f
  652. 1091(has)X
  653. 1241(several)X
  654. 1512(shortcomings.)X
  655. 2026(Since)X
  656. 2247(data)X
  657. 2423(is)X
  658. 720 3078(assumed)N
  659. 1032(to)X
  660. 1130(be)X
  661. 1242(disk)X
  662. 1411(resident,)X
  663. 1721(each)X
  664. 1905(access)X
  665. 2146(requires)X
  666. 2440(a)X
  667. 720 3166(system)N
  668. 963(call,)X
  669. 1120(and)X
  670. 1257(almost)X
  671. 1491(certainly,)X
  672. 1813(a)X
  673. 1869(disk)X
  674. 2022(operation.)X
  675. 2365(For)X
  676. 720 3254(extremely)N
  677. 1072(large)X
  678. 1264(databases,)X
  679. 1623(where)X
  680. 1851(caching)X
  681. 2131(is)X
  682. 2214(unlikely)X
  683. 720 3342(to)N
  684. 810(be)X
  685. 914(effective,)X
  686. 1244(this)X
  687. 1386(is)X
  688. 1466(acceptable,)X
  689. 1853(however,)X
  690. 2177(when)X
  691. 2378(the)X
  692. 720 3430(database)N
  693. 1022(is)X
  694. 1100(small)X
  695. 1298((i.e.)X
  696. 1447(the)X
  697. 1569(password)X
  698. 1896(256le),)X
  699. 2069(performance)X
  700. 720 3518(improvements)N
  701. 1204(can)X
  702. 1342(be)X
  703. 1443(obtained)X
  704. 1744(through)X
  705. 2018(caching)X
  706. 2293(pages)X
  707. 720 3606(of)N
  708. 818(the)X
  709. 947(database)X
  710. 1255(in)X
  711. 1348(memory.)X
  712. 1685(In)X
  713. 1782(addition,)X
  714. 2 f
  715. 2094(dbm)X
  716. 1 f
  717. 2262(cannot)X
  718. 720 3694(store)N
  719. 902(data)X
  720. 1062(items)X
  721. 1261(whose)X
  722. 1492(total)X
  723. 1660(key)X
  724. 1802(and)X
  725. 1943(data)X
  726. 2102(size)X
  727. 2252(exceed)X
  728. 720 3782(the)N
  729. 850(page)X
  730. 1034(size)X
  731. 1191(of)X
  732. 1290(the)X
  733. 1420(hash)X
  734. 1599(table.)X
  735. 1827(Similarly,)X
  736. 2176(if)X
  737. 2257(two)X
  738. 2409(or)X
  739. 720 3870(more)N
  740. 907(keys)X
  741. 1076(produce)X
  742. 1357(the)X
  743. 1477(same)X
  744. 1664(hash)X
  745. 1833(value)X
  746. 2029(and)X
  747. 2166(their)X
  748. 2334(total)X
  749. 720 3958(size)N
  750. 876(exceeds)X
  751. 1162(the)X
  752. 1291(page)X
  753. 1474(size,)X
  754. 1650(the)X
  755. 1779(table)X
  756. 1966(cannot)X
  757. 2210(store)X
  758. 2396(all)X
  759. 720 4046(the)N
  760. 838(colliding)X
  761. 1142(keys.)X
  762. 892 4160(The)N
  763. 1050(in-memory)X
  764. 2 f
  765. 1439(hsearch)X
  766. 1 f
  767. 1725(routines)X
  768. 2015(have)X
  769. 2199(different)X
  770. 720 4248(shortcomings.)N
  771. 1219(First,)X
  772. 1413(the)X
  773. 1539(notion)X
  774. 1771(of)X
  775. 1865(a)X
  776. 1928(single)X
  777. 2146(hash)X
  778. 2320(table)X
  779. 720 4336(is)N
  780. 807(embedded)X
  781. 1171(in)X
  782. 1266(the)X
  783. 1397(interface,)X
  784. 1732(preventing)X
  785. 2108(an)X
  786. 2217(applica-)X
  787. 720 4424(tion)N
  788. 902(from)X
  789. 1116(accessing)X
  790. 1482(multiple)X
  791. 1806(tables)X
  792. 2050(concurrently.)X
  793. 720 4512(Secondly,)N
  794. 1063(the)X
  795. 1186(routine)X
  796. 1438(to)X
  797. 1525(create)X
  798. 1743(a)X
  799. 1804(hash)X
  800. 1976(table)X
  801. 2157(requires)X
  802. 2440(a)X
  803. 720 4600(parameter)N
  804. 1066(which)X
  805. 1286(declares)X
  806. 1573(the)X
  807. 1694(size)X
  808. 1842(of)X
  809. 1932(the)X
  810. 2053(hash)X
  811. 2223(table.)X
  812. 2422(If)X
  813. 720 4688(this)N
  814. 856(size)X
  815. 1001(is)X
  816. 1074(set)X
  817. 1183(too)X
  818. 1305(low,)X
  819. 1465(performance)X
  820. 1892(degradation)X
  821. 2291(or)X
  822. 2378(the)X
  823. 720 4776(inability)N
  824. 1008(to)X
  825. 1092(add)X
  826. 1230(items)X
  827. 1425(to)X
  828. 1509(the)X
  829. 1628(table)X
  830. 1805(may)X
  831. 1964(result.)X
  832. 2223(In)X
  833. 2311(addi-)X
  834. 720 4864(tion,)N
  835. 2 f
  836. 910(hsearch)X
  837. 1 f
  838. 1210(requires)X
  839. 1515(that)X
  840. 1681(the)X
  841. 1825(application)X
  842. 2226(allocate)X
  843. 720 4952(memory)N
  844. 1037(for)X
  845. 1181(the)X
  846. 1329(key)X
  847. 1495(and)X
  848. 1661(data)X
  849. 1845(items.)X
  850. 2108(Lastly,)X
  851. 2378(the)X
  852. 2 f
  853. 720 5040(hsearch)N
  854. 1 f
  855. 1013(routines)X
  856. 1310(provide)X
  857. 1594(no)X
  858. 1713(interface)X
  859. 2034(to)X
  860. 2135(store)X
  861. 2329(hash)X
  862. 720 5128(tables)N
  863. 927(on)X
  864. 1027(disk.)X
  865. 16 s
  866. 720 5593 MXY
  867. 864 0 Dl
  868. 2 f
  869. 8 s
  870. 760 5648(1)N
  871. 1 f
  872. 9 s
  873. 5673(UNIX)Y
  874. 990(is)X
  875. 1056(a)X
  876. 1106(registered)X
  877. 1408(trademark)X
  878. 1718(of)X
  879. 1796(AT&T.)X
  880. 10 s
  881. 2878 2128(The)N
  882. 3032(goal)X
  883. 3199(of)X
  884. 3295(our)X
  885. 3431(work)X
  886. 3625(was)X
  887. 3779(to)X
  888. 3870(design)X
  889. 4108(and)X
  890. 4253(imple-)X
  891. 2706 2216(ment)N
  892. 2900(a)X
  893. 2970(new)X
  894. 3138(package)X
  895. 3436(that)X
  896. 3590(provides)X
  897. 3899(a)X
  898. 3968(superset)X
  899. 4264(of)X
  900. 4364(the)X
  901. 2706 2304(functionality)N
  902. 3144(of)X
  903. 3240(both)X
  904. 2 f
  905. 3411(dbm)X
  906. 1 f
  907. 3578(and)X
  908. 2 f
  909. 3723(hsearch)X
  910. 1 f
  911. 3977(.)X
  912. 4045(The)X
  913. 4198(package)X
  914. 2706 2392(had)N
  915. 2871(to)X
  916. 2982(overcome)X
  917. 3348(the)X
  918. 3495(interface)X
  919. 3826(shortcomings)X
  920. 4306(cited)X
  921. 2706 2480(above)N
  922. 2930(and)X
  923. 3078(its)X
  924. 3185(implementation)X
  925. 3719(had)X
  926. 3867(to)X
  927. 3961(provide)X
  928. 4238(perfor-)X
  929. 2706 2568(mance)N
  930. 2942(equal)X
  931. 3142(or)X
  932. 3235(superior)X
  933. 3524(to)X
  934. 3612(that)X
  935. 3758(of)X
  936. 3851(the)X
  937. 3975(existing)X
  938. 4253(imple-)X
  939. 2706 2656(mentations.)N
  940. 3152(In)X
  941. 3274(order)X
  942. 3498(to)X
  943. 3614(provide)X
  944. 3913(a)X
  945. 4003(compact)X
  946. 4329(disk)X
  947. 2706 2744(representation,)N
  948. 3224(graceful)X
  949. 3531(table)X
  950. 3729(growth,)X
  951. 4018(and)X
  952. 4176(expected)X
  953. 2706 2832(constant)N
  954. 3033(time)X
  955. 3234(performance,)X
  956. 3720(we)X
  957. 3873(selected)X
  958. 4191(Litwin's)X
  959. 2706 2920(linear)N
  960. 2923(hashing)X
  961. 3206(algorithm)X
  962. 3551([LAR88,)X
  963. 3872(LIT80].)X
  964. 4178(We)X
  965. 4324(then)X
  966. 2706 3008(enhanced)N
  967. 3037(the)X
  968. 3161(algorithm)X
  969. 3498(to)X
  970. 3586(handle)X
  971. 3826(page)X
  972. 4004(over257ows)X
  973. 4346(and)X
  974. 2706 3096(large)N
  975. 2900(key)X
  976. 3049(handling)X
  977. 3362(with)X
  978. 3537(a)X
  979. 3606(single)X
  980. 3830(mechanism,)X
  981. 4248(named)X
  982. 2706 3184(buddy-in-waiting.)N
  983. 3 f
  984. 2975 3338(Existing)N
  985. 3274(UNIX)X
  986. 3499(Hashing)X
  987. 3802(Techniques)X
  988. 1 f
  989. 2878 3470(Over)N
  990. 3076(the)X
  991. 3210(last)X
  992. 3357(decade,)X
  993. 3637(several)X
  994. 3901(dynamic)X
  995. 4213(hashing)X
  996. 2706 3558(schemes)N
  997. 3000(have)X
  998. 3174(been)X
  999. 3348(developed)X
  1000. 3700(for)X
  1001. 3816(the)X
  1002. 3936(UNIX)X
  1003. 4159(timeshar-)X
  1004. 2706 3646(ing)N
  1005. 2856(system,)X
  1006. 3146(starting)X
  1007. 3433(with)X
  1008. 3622(the)X
  1009. 3767(inclusion)X
  1010. 4107(of)X
  1011. 2 f
  1012. 4221(dbm)X
  1013. 1 f
  1014. 4359(,)X
  1015. 4426(a)X
  1016. 2706 3734(minimal)N
  1017. 3008(database)X
  1018. 3321(library)X
  1019. 3571(written)X
  1020. 3834(by)X
  1021. 3950(Ken)X
  1022. 4120(Thompson)X
  1023. 2706 3822([THOM90],)N
  1024. 3141(in)X
  1025. 3248(the)X
  1026. 3391(Seventh)X
  1027. 3694(Edition)X
  1028. 3974(UNIX)X
  1029. 4220(system.)X
  1030. 2706 3910(Since)N
  1031. 2916(then,)X
  1032. 3106(an)X
  1033. 3214(extended)X
  1034. 3536(version)X
  1035. 3804(of)X
  1036. 3903(the)X
  1037. 4032(same)X
  1038. 4228(library,)X
  1039. 2 f
  1040. 2706 3998(ndbm)N
  1041. 1 f
  1042. 2884(,)X
  1043. 2933(and)X
  1044. 3078(a)X
  1045. 3142(public-domain)X
  1046. 3637(clone)X
  1047. 3839(of)X
  1048. 3934(the)X
  1049. 4060(latter,)X
  1050. 2 f
  1051. 4273(sdbm)X
  1052. 1 f
  1053. 4442(,)X
  1054. 2706 4086(have)N
  1055. 2902(been)X
  1056. 3098(developed.)X
  1057. 3491(Another)X
  1058. 3797 0.1645(interface-compatible)AX
  1059. 2706 4174(library)N
  1060. 2 f
  1061. 2950(gdbm)X
  1062. 1 f
  1063. 3128(,)X
  1064. 3178(was)X
  1065. 3333(recently)X
  1066. 3622(made)X
  1067. 3826(available)X
  1068. 4145(as)X
  1069. 4241(part)X
  1070. 4395(of)X
  1071. 2706 4262(the)N
  1072. 2829(Free)X
  1073. 2997(Software)X
  1074. 3312(Foundation's)X
  1075. 3759((FSF))X
  1076. 3970(software)X
  1077. 4271(distri-)X
  1078. 2706 4350(bution.)N
  1079. 2878 4464(All)N
  1080. 3017(of)X
  1081. 3121(these)X
  1082. 3323(implementations)X
  1083. 3893(are)X
  1084. 4029(based)X
  1085. 4248(on)X
  1086. 4364(the)X
  1087. 2706 4552(idea)N
  1088. 2871(of)X
  1089. 2969(revealing)X
  1090. 3299(just)X
  1091. 3445(enough)X
  1092. 3711(bits)X
  1093. 3856(of)X
  1094. 3953(a)X
  1095. 4019(hash)X
  1096. 4196(value)X
  1097. 4400(to)X
  1098. 2706 4640(locate)N
  1099. 2920(a)X
  1100. 2978(page)X
  1101. 3151(in)X
  1102. 3234(a)X
  1103. 3291(single)X
  1104. 3503(access.)X
  1105. 3770(While)X
  1106. 2 f
  1107. 3987(dbm/ndbm)X
  1108. 1 f
  1109. 4346(and)X
  1110. 2 f
  1111. 2706 4728(sdbm)N
  1112. 1 f
  1113. 2908(map)X
  1114. 3079(the)X
  1115. 3210(hash)X
  1116. 3390(value)X
  1117. 3597(directly)X
  1118. 3874(to)X
  1119. 3968(a)X
  1120. 4036(disk)X
  1121. 4201(address,)X
  1122. 2 f
  1123. 2706 4816(gdbm)N
  1124. 1 f
  1125. 2921(uses)X
  1126. 3096(the)X
  1127. 3231(hash)X
  1128. 3414(value)X
  1129. 3624(to)X
  1130. 3722(index)X
  1131. 3936(into)X
  1132. 4096(a)X
  1133. 2 f
  1134. 4168(directory)X
  1135. 1 f
  1136. 2706 4904([ENB88])N
  1137. 3020(containing)X
  1138. 3378(disk)X
  1139. 3531(addresses.)X
  1140. 2878 5018(The)N
  1141. 2 f
  1142. 3033(hsearch)X
  1143. 1 f
  1144. 3317(routines)X
  1145. 3605(in)X
  1146. 3697(System)X
  1147. 3962(V)X
  1148. 4049(are)X
  1149. 4177(designed)X
  1150. 2706 5106(to)N
  1151. 2804(provide)X
  1152. 3085(memory-resident)X
  1153. 3669(hash)X
  1154. 3852(tables.)X
  1155. 4115(Since)X
  1156. 4328(data)X
  1157. 2706 5194(access)N
  1158. 2948(does)X
  1159. 3131(not)X
  1160. 3269(require)X
  1161. 3533(disk)X
  1162. 3702(access,)X
  1163. 3964(simple)X
  1164. 4213(hashing)X
  1165. 2706 5282(schemes)N
  1166. 3010(which)X
  1167. 3238(may)X
  1168. 3408(require)X
  1169. 3667(multiple)X
  1170. 3964(probes)X
  1171. 4209(into)X
  1172. 4364(the)X
  1173. 2706 5370(table)N
  1174. 2889(are)X
  1175. 3015(used.)X
  1176. 3209(A)X
  1177. 3294(more)X
  1178. 3486(interesting)X
  1179. 3851(version)X
  1180. 4114(of)X
  1181. 2 f
  1182. 4208(hsearch)X
  1183. 1 f
  1184. 2706 5458(is)N
  1185. 2784(a)X
  1186. 2845(public)X
  1187. 3070(domain)X
  1188. 3335(library,)X
  1189. 2 f
  1190. 3594(dynahash)X
  1191. 1 f
  1192. 3901(,)X
  1193. 3945(that)X
  1194. 4089(implements)X
  1195. 2706 5546(Larson's)N
  1196. 3036(in-memory)X
  1197. 3440(adaptation)X
  1198. 3822([LAR88])X
  1199. 4164(of)X
  1200. 4279(linear)X
  1201. 2706 5634(hashing)N
  1202. 2975([LIT80].)X
  1203. 3 f
  1204. 720 5960(USENIX)N
  1205. 9 f
  1206. 1042(-)X
  1207. 3 f
  1208. 1106(Winter)X
  1209. 1371('91)X
  1210. 9 f
  1211. 1498(-)X
  1212. 3 f
  1213. 1562(Dallas,)X
  1214. 1815(TX)X
  1215. 1 f
  1216. 4424(1)X
  1217. 2 p
  1218. %%Page: 2 2
  1219. 10 s 10 xH 0 xS 1 f
  1220. 3 f
  1221. 432 258(A)N
  1222. 510(New)X
  1223. 682(Hashing)X
  1224. 985(Package)X
  1225. 1290(for)X
  1226. 1413(UNIX)X
  1227. 3663(Seltzer)X
  1228. 3920(&)X
  1229. 4007(Yigit)X
  1230. 2 f
  1231. 1074 538(dbm)N
  1232. 1 f
  1233. 1232(and)X
  1234. 2 f
  1235. 1368(ndbm)X
  1236. 1 f
  1237. 604 670(The)N
  1238. 2 f
  1239. 760(dbm)X
  1240. 1 f
  1241. 928(and)X
  1242. 2 f
  1243. 1074(ndbm)X
  1244. 1 f
  1245. 1282(library)X
  1246. 1526(implementations)X
  1247. 2089(are)X
  1248. 432 758(based)N
  1249. 667(on)X
  1250. 799(the)X
  1251. 949(same)X
  1252. 1166(algorithm)X
  1253. 1529(by)X
  1254. 1661(Ken)X
  1255. 1846(Thompson)X
  1256. 432 846([THOM90,)N
  1257. 824(TOR88,)X
  1258. 1113(WAL84],)X
  1259. 1452(but)X
  1260. 1582(differ)X
  1261. 1789(in)X
  1262. 1879(their)X
  1263. 2054(pro-)X
  1264. 432 934(grammatic)N
  1265. 801(interfaces.)X
  1266. 1160(The)X
  1267. 1311(latter)X
  1268. 1502(is)X
  1269. 1581(a)X
  1270. 1643(modi256ed)X
  1271. 1952(version)X
  1272. 432 1022(of)N
  1273. 533(the)X
  1274. 665(former)X
  1275. 918(which)X
  1276. 1148(adds)X
  1277. 1328(support)X
  1278. 1601(for)X
  1279. 1728(multiple)X
  1280. 2027(data-)X
  1281. 432 1110(bases)N
  1282. 634(to)X
  1283. 724(be)X
  1284. 828(open)X
  1285. 1011(concurrently.)X
  1286. 1484(The)X
  1287. 1636(discussion)X
  1288. 1996(of)X
  1289. 2090(the)X
  1290. 432 1198(algorithm)N
  1291. 774(that)X
  1292. 925(follows)X
  1293. 1196(is)X
  1294. 1280(applicable)X
  1295. 1640(to)X
  1296. 1732(both)X
  1297. 2 f
  1298. 1904(dbm)X
  1299. 1 f
  1300. 2072(and)X
  1301. 2 f
  1302. 432 1286(ndbm)N
  1303. 1 f
  1304. 610(.)X
  1305. 604 1400(The)N
  1306. 760(basic)X
  1307. 956(structure)X
  1308. 1268(of)X
  1309. 2 f
  1310. 1366(dbm)X
  1311. 1 f
  1312. 1535(calls)X
  1313. 1712(for)X
  1314. 1836(256xed-sized)X
  1315. 432 1488(disk)N
  1316. 612(blocks)X
  1317. 868((buckets))X
  1318. 1214(and)X
  1319. 1377(an)X
  1320. 2 f
  1321. 1499(access)X
  1322. 1 f
  1323. 1755(function)X
  1324. 2068(that)X
  1325. 432 1576(maps)N
  1326. 623(a)X
  1327. 681(key)X
  1328. 819(to)X
  1329. 902(a)X
  1330. 959(bucket.)X
  1331. 1234(The)X
  1332. 1380(interface)X
  1333. 1683(routines)X
  1334. 1962(use)X
  1335. 2090(the)X
  1336. 2 f
  1337. 432 1664(access)N
  1338. 1 f
  1339. 673(function)X
  1340. 970(to)X
  1341. 1062(obtain)X
  1342. 1292(the)X
  1343. 1420(appropriate)X
  1344. 1816(bucket)X
  1345. 2060(in)X
  1346. 2152(a)X
  1347. 432 1752(single)N
  1348. 643(disk)X
  1349. 796(access.)X
  1350. 604 1866(Within)N
  1351. 869(the)X
  1352. 2 f
  1353. 1010(access)X
  1354. 1 f
  1355. 1263(function,)X
  1356. 1593(a)X
  1357. 1672(bit-randomizing)X
  1358. 432 1954(hash)N
  1359. 610(function)X
  1360. 2 f
  1361. 8 s
  1362. 877 1929(2)N
  1363. 1 f
  1364. 10 s
  1365. 940 1954(is)N
  1366. 1024(used)X
  1367. 1202(to)X
  1368. 1294(convert)X
  1369. 1565(a)X
  1370. 1631(key)X
  1371. 1777(into)X
  1372. 1931(a)X
  1373. 1997(32-bit)X
  1374. 432 2042(hash)N
  1375. 605(value.)X
  1376. 825(Out)X
  1377. 971(of)X
  1378. 1064(these)X
  1379. 1254(32)X
  1380. 1359(bits,)X
  1381. 1519(only)X
  1382. 1686(as)X
  1383. 1778(many)X
  1384. 1981(bits)X
  1385. 2121(as)X
  1386. 432 2130(necessary)N
  1387. 773(are)X
  1388. 900(used)X
  1389. 1075(to)X
  1390. 1165(determine)X
  1391. 1514(the)X
  1392. 1639(particular)X
  1393. 1974(bucket)X
  1394. 432 2218(on)N
  1395. 533(which)X
  1396. 750(a)X
  1397. 807(key)X
  1398. 944(resides.)X
  1399. 1228(An)X
  1400. 1347(in-memory)X
  1401. 1724(bitmap)X
  1402. 1967(is)X
  1403. 2041(used)X
  1404. 432 2306(to)N
  1405. 533(determine)X
  1406. 893(how)X
  1407. 1070(many)X
  1408. 1287(bits)X
  1409. 1441(are)X
  1410. 1579(required.)X
  1411. 1905(Each)X
  1412. 2104(bit)X
  1413. 432 2394(indicates)N
  1414. 746(whether)X
  1415. 1033(its)X
  1416. 1136(associated)X
  1417. 1494(bucket)X
  1418. 1736(has)X
  1419. 1871(been)X
  1420. 2051(split)X
  1421. 432 2482(yet)N
  1422. 562((a)X
  1423. 657(0)X
  1424. 728(indicating)X
  1425. 1079(that)X
  1426. 1230(the)X
  1427. 1359(bucket)X
  1428. 1604(has)X
  1429. 1742(not)X
  1430. 1875(yet)X
  1431. 2004(split).)X
  1432. 432 2570(The)N
  1433. 590(use)X
  1434. 730(of)X
  1435. 830(the)X
  1436. 961(hash)X
  1437. 1141(function)X
  1438. 1441(and)X
  1439. 1590(the)X
  1440. 1720(bitmap)X
  1441. 1974(is)X
  1442. 2059(best)X
  1443. 432 2658(described)N
  1444. 769(by)X
  1445. 878(stepping)X
  1446. 1177(through)X
  1447. 1454(database)X
  1448. 1759(creation)X
  1449. 2046(with)X
  1450. 432 2746(multiple)N
  1451. 718(invocations)X
  1452. 1107(of)X
  1453. 1194(a)X
  1454. 2 f
  1455. 1250(store)X
  1456. 1 f
  1457. 1430(operation.)X
  1458. 604 2860(Initially,)N
  1459. 906(the)X
  1460. 1033(hash)X
  1461. 1209(table)X
  1462. 1394(contains)X
  1463. 1690(a)X
  1464. 1755(single)X
  1465. 1974(bucket)X
  1466. 432 2948((bucket)N
  1467. 711(0),)X
  1468. 836(the)X
  1469. 972(bit)X
  1470. 1094(map)X
  1471. 1270(contains)X
  1472. 1575(a)X
  1473. 1649(single)X
  1474. 1878(bit)X
  1475. 2000((bit)X
  1476. 2148(0)X
  1477. 432 3036(corresponding)N
  1478. 913(to)X
  1479. 997(bucket)X
  1480. 1233(0),)X
  1481. 1342(and)X
  1482. 1480(0)X
  1483. 1542(bits)X
  1484. 1699(of)X
  1485. 1788(a)X
  1486. 1846(hash)X
  1487. 2014(value)X
  1488. 432 3124(are)N
  1489. 560(examined)X
  1490. 901(to)X
  1491. 992(determine)X
  1492. 1342(where)X
  1493. 1568(a)X
  1494. 1633(key)X
  1495. 1778(is)X
  1496. 1860(placed)X
  1497. 2099((in)X
  1498. 432 3212(bucket)N
  1499. 670(0).)X
  1500. 801(When)X
  1501. 1017(bucket)X
  1502. 1255(0)X
  1503. 1319(is)X
  1504. 1396(full,)X
  1505. 1551(its)X
  1506. 1650(bit)X
  1507. 1758(in)X
  1508. 1844(the)X
  1509. 1966(bitmap)X
  1510. 432 3300((bit)N
  1511. 564(0))X
  1512. 652(is)X
  1513. 726(set,)X
  1514. 856(and)X
  1515. 993(its)X
  1516. 1089(contents)X
  1517. 1377(are)X
  1518. 1497(split)X
  1519. 1655(between)X
  1520. 1943(buckets)X
  1521. 432 3388(0)N
  1522. 499(and)X
  1523. 641(1,)X
  1524. 727(by)X
  1525. 833(considering)X
  1526. 1233(the)X
  1527. 1357(0)X
  1528. 2 f
  1529. 7 s
  1530. 3356(th)Y
  1531. 10 s
  1532. 1 f
  1533. 1480 3388(bit)N
  1534. 1590((the)X
  1535. 1741(lowest)X
  1536. 1976(bit)X
  1537. 2086(not)X
  1538. 432 3476(previously)N
  1539. 800(examined))X
  1540. 1169(of)X
  1541. 1266(the)X
  1542. 1393(hash)X
  1543. 1569(value)X
  1544. 1772(for)X
  1545. 1895(each)X
  1546. 2072(key)X
  1547. 432 3564(within)N
  1548. 668(the)X
  1549. 798(bucket.)X
  1550. 1064(Given)X
  1551. 1292(a)X
  1552. 1359(well-designed)X
  1553. 1840(hash)X
  1554. 2018(func-)X
  1555. 432 3652(tion,)N
  1556. 613(approximately)X
  1557. 1112(half)X
  1558. 1273(of)X
  1559. 1376(the)X
  1560. 1510(keys)X
  1561. 1693(will)X
  1562. 1853(have)X
  1563. 2041(hash)X
  1564. 432 3740(values)N
  1565. 666(with)X
  1566. 837(the)X
  1567. 964(0)X
  1568. 2 f
  1569. 7 s
  1570. 3708(th)Y
  1571. 10 s
  1572. 1 f
  1573. 1090 3740(bit)N
  1574. 1203(set.)X
  1575. 1341(All)X
  1576. 1471(such)X
  1577. 1646(keys)X
  1578. 1821(and)X
  1579. 1965(associ-)X
  1580. 432 3828(ated)N
  1581. 586(data)X
  1582. 740(are)X
  1583. 859(moved)X
  1584. 1097(to)X
  1585. 1179(bucket)X
  1586. 1413(1,)X
  1587. 1493(and)X
  1588. 1629(the)X
  1589. 1747(rest)X
  1590. 1883(remain)X
  1591. 2126(in)X
  1592. 432 3916(bucket)N
  1593. 666(0.)X
  1594. 604 4030(After)N
  1595. 804(this)X
  1596. 949(split,)X
  1597. 1135(the)X
  1598. 1262(256le)X
  1599. 1393(now)X
  1600. 1560(contains)X
  1601. 1856(two)X
  1602. 2005(buck-)X
  1603. 432 4118(ets,)N
  1604. 562(and)X
  1605. 699(the)X
  1606. 818(bitmap)X
  1607. 1061(contains)X
  1608. 1349(three)X
  1609. 1530(bits:)X
  1610. 1687(the)X
  1611. 1805(0)X
  1612. 2 f
  1613. 7 s
  1614. 4086(th)Y
  1615. 10 s
  1616. 1 f
  1617. 1922 4118(bit)N
  1618. 2026(is)X
  1619. 2099(set)X
  1620. 432 4206(to)N
  1621. 525(indicate)X
  1622. 810(a)X
  1623. 876(bucket)X
  1624. 1120(0)X
  1625. 1190(split)X
  1626. 1357(when)X
  1627. 1561(no)X
  1628. 1671(bits)X
  1629. 1816(of)X
  1630. 1913(the)X
  1631. 2041(hash)X
  1632. 432 4294(value)N
  1633. 648(are)X
  1634. 789(considered,)X
  1635. 1199(and)X
  1636. 1357(two)X
  1637. 1519(more)X
  1638. 1726(unset)X
  1639. 1937(bits)X
  1640. 2094(for)X
  1641. 432 4382(buckets)N
  1642. 706(0)X
  1643. 775(and)X
  1644. 920(1.)X
  1645. 1029(The)X
  1646. 1183(placement)X
  1647. 1542(of)X
  1648. 1638(an)X
  1649. 1742(incoming)X
  1650. 2072(key)X
  1651. 432 4470(now)N
  1652. 604(requires)X
  1653. 897(examination)X
  1654. 1327(of)X
  1655. 1428(the)X
  1656. 1560(0)X
  1657. 2 f
  1658. 7 s
  1659. 4438(th)Y
  1660. 10 s
  1661. 1 f
  1662. 1691 4470(bit)N
  1663. 1809(of)X
  1664. 1910(the)X
  1665. 2041(hash)X
  1666. 432 4558(value,)N
  1667. 667(and)X
  1668. 824(the)X
  1669. 963(key)X
  1670. 1119(is)X
  1671. 1212(placed)X
  1672. 1462(either)X
  1673. 1685(in)X
  1674. 1787(bucket)X
  1675. 2041(0)X
  1676. 2121(or)X
  1677. 432 4646(bucket)N
  1678. 674(1.)X
  1679. 782(If)X
  1680. 864(either)X
  1681. 1075(bucket)X
  1682. 1317(0)X
  1683. 1385(or)X
  1684. 1480(bucket)X
  1685. 1722(1)X
  1686. 1790(256lls)X
  1687. 1937(up,)X
  1688. 2064(it)X
  1689. 2135(is)X
  1690. 432 4734(split)N
  1691. 598(as)X
  1692. 693(before,)X
  1693. 947(its)X
  1694. 1050(bit)X
  1695. 1162(is)X
  1696. 1243(set)X
  1697. 1360(in)X
  1698. 1450(the)X
  1699. 1576(bitmap,)X
  1700. 1846(and)X
  1701. 1990(a)X
  1702. 2054(new)X
  1703. 432 4822(set)N
  1704. 541(of)X
  1705. 628(unset)X
  1706. 817(bits)X
  1707. 952(are)X
  1708. 1071(added)X
  1709. 1283(to)X
  1710. 1365(the)X
  1711. 1483(bitmap.)X
  1712. 604 4936(Each)N
  1713. 791(time)X
  1714. 959(we)X
  1715. 1079(consider)X
  1716. 1376(a)X
  1717. 1437(new)X
  1718. 1596(bit)X
  1719. 1705((bit)X
  1720. 1841(n),)X
  1721. 1953(we)X
  1722. 2072(add)X
  1723. 432 5024(2)N
  1724. 2 f
  1725. 7 s
  1726. 4992(n)Y
  1727. 9 f
  1728. 509(+)X
  1729. 1 f
  1730. 540(1)X
  1731. 10 s
  1732. 595 5024(bits)N
  1733. 737(to)X
  1734. 826(the)X
  1735. 951(bitmap)X
  1736. 1199(and)X
  1737. 1341(obtain)X
  1738. 1567(2)X
  1739. 2 f
  1740. 7 s
  1741. 4992(n)Y
  1742. 9 f
  1743. 1644(+)X
  1744. 1 f
  1745. 1675(1)X
  1746. 10 s
  1747. 1729 5024(more)N
  1748. 1920(address-)X
  1749. 432 5112(able)N
  1750. 595(buckets)X
  1751. 869(in)X
  1752. 960(the)X
  1753. 1087(256le.)X
  1754. 1258(As)X
  1755. 1376(a)X
  1756. 1441(result,)X
  1757. 1668(the)X
  1758. 1795(bitmap)X
  1759. 2045(con-)X
  1760. 432 5200(tains)N
  1761. 618(the)X
  1762. 751(previous)X
  1763. 1062(2)X
  1764. 2 f
  1765. 7 s
  1766. 5168(n)Y
  1767. 9 f
  1768. 1139(+)X
  1769. 1 f
  1770. 1170(1)X
  1771. 2 f
  1772. 10 s
  1773. 9 f
  1774. 5200(-)Y
  1775. 1 f
  1776. 1242(1)X
  1777. 1317(bits)X
  1778. 1467((1)X
  1779. 2 f
  1780. 9 f
  1781. 1534(+)X
  1782. 1 f
  1783. 1578(2)X
  1784. 2 f
  1785. 9 f
  1786. (+)S
  1787. 1 f
  1788. 1662(4)X
  1789. 2 f
  1790. 9 f
  1791. (+)S
  1792. 1 f
  1793. 1746(...)X
  1794. 2 f
  1795. 9 f
  1796. (+)S
  1797. 1 f
  1798. 1850(2)X
  1799. 2 f
  1800. 7 s
  1801. 5168(n)Y
  1802. 10 s
  1803. 1 f
  1804. 1931 5200())N
  1805. 1992(which)X
  1806. 432 5288(trace)N
  1807. 649(the)X
  1808. 807(entire)X
  1809. 2 f
  1810. 1050(split)X
  1811. 1247(history)X
  1812. 1 f
  1813. 1529(of)X
  1814. 1656(the)X
  1815. 1813(addressable)X
  1816. 16 s
  1817. 432 5433 MXY
  1818. 864 0 Dl
  1819. 2 f
  1820. 8 s
  1821. 472 5488(2)N
  1822. 1 f
  1823. 9 s
  1824. 523 5513(This)N
  1825. 670(bit-randomizing)X
  1826. 1153(property)X
  1827. 1416(is)X
  1828. 1482(important)X
  1829. 1780(to)X
  1830. 1854(obtain)X
  1831. 2052(radi-)X
  1832. 432 5593(cally)N
  1833. 599(different)X
  1834. 874(hash)X
  1835. 1033(values)X
  1836. 1244(for)X
  1837. 1355(nearly)X
  1838. 1562(identical)X
  1839. 1836(keys,)X
  1840. 2012(which)X
  1841. 432 5673(in)N
  1842. 506(turn)X
  1843. 640(avoids)X
  1844. 846(clustering)X
  1845. 1148(of)X
  1846. 1226(such)X
  1847. 1376(keys)X
  1848. 1526(in)X
  1849. 1600(a)X
  1850. 1650(single)X
  1851. 1840(bucket.)X
  1852. 10 s
  1853. 2418 538(buckets.)N
  1854. 2590 652(Given)N
  1855. 2809(a)X
  1856. 2868(key)X
  1857. 3007(and)X
  1858. 3146(the)X
  1859. 3267(bitmap)X
  1860. 3512(created)X
  1861. 3768(by)X
  1862. 3871(this)X
  1863. 4009(algo-)X
  1864. 2418 740(rithm,)N
  1865. 2638(we)X
  1866. 2759(256rst)X
  1867. 2910(examine)X
  1868. 3209(bit)X
  1869. 3320(0)X
  1870. 3386(of)X
  1871. 3479(the)X
  1872. 3603(bitmap)X
  1873. 3851((the)X
  1874. 4002(bit)X
  1875. 4112(to)X
  1876. 2418 828(consult)N
  1877. 2673(when)X
  1878. 2871(0)X
  1879. 2934(bits)X
  1880. 3072(of)X
  1881. 3162(the)X
  1882. 3283(hash)X
  1883. 3453(value)X
  1884. 3650(are)X
  1885. 3772(being)X
  1886. 3973(exam-)X
  1887. 2418 916(ined).)N
  1888. 2631(If)X
  1889. 2713(it)X
  1890. 2785(is)X
  1891. 2866(set)X
  1892. 2982((indicating)X
  1893. 3356(that)X
  1894. 3503(the)X
  1895. 3628(bucket)X
  1896. 3869(split),)X
  1897. 4080(we)X
  1898. 2418 1004(begin)N
  1899. 2617(considering)X
  1900. 3012(the)X
  1901. 3131(bits)X
  1902. 3267(of)X
  1903. 3355(the)X
  1904. 3473(32-bit)X
  1905. 3684(hash)X
  1906. 3851(value.)X
  1907. 4085(As)X
  1908. 2418 1092(bit)N
  1909. 2525(n)X
  1910. 2587(is)X
  1911. 2662(revealed,)X
  1912. 2977(a)X
  1913. 3035(mask)X
  1914. 3226(equal)X
  1915. 3422(to)X
  1916. 3506(2)X
  1917. 2 f
  1918. 7 s
  1919. 1060(n)Y
  1920. 9 f
  1921. 3583(+)X
  1922. 1 f
  1923. 3614(1)X
  1924. 2 f
  1925. 10 s
  1926. 9 f
  1927. 1092(-)Y
  1928. 1 f
  1929. 3686(1)X
  1930. 3748(will)X
  1931. 3894(yield)X
  1932. 4076(the)X
  1933. 2418 1180(current)N
  1934. 2675(bucket)X
  1935. 2918(address.)X
  1936. 3228(Adding)X
  1937. 3496(2)X
  1938. 2 f
  1939. 7 s
  1940. 1148(n)Y
  1941. 9 f
  1942. 3573(+)X
  1943. 1 f
  1944. 3604(1)X
  1945. 2 f
  1946. 10 s
  1947. 9 f
  1948. 1180(-)Y
  1949. 1 f
  1950. 3676(1)X
  1951. 3744(to)X
  1952. 3834(the)X
  1953. 3960(bucket)X
  1954. 2418 1268(address)N
  1955. 2701(identi256es)X
  1956. 3035(which)X
  1957. 3272(bit)X
  1958. 3397(in)X
  1959. 3500(the)X
  1960. 3639(bitmap)X
  1961. 3902(must)X
  1962. 4098(be)X
  1963. 2418 1356(checked.)N
  1964. 2743(We)X
  1965. 2876(continue)X
  1966. 3173(revealing)X
  1967. 3493(bits)X
  1968. 3628(of)X
  1969. 3715(the)X
  1970. 3833(hash)X
  1971. 4000(value)X
  1972. 2418 1444(until)N
  1973. 2591(all)X
  1974. 2698(set)X
  1975. 2814(bits)X
  1976. 2955(in)X
  1977. 3043(the)X
  1978. 3167(bitmap)X
  1979. 3415(are)X
  1980. 3540(exhausted.)X
  1981. 3907(The)X
  1982. 4058(fol-)X
  1983. 2418 1532(lowing)N
  1984. 2682(algorithm,)X
  1985. 3055(a)X
  1986. 3133(simpli256cation)X
  1987. 3614(of)X
  1988. 3723(the)X
  1989. 3863(algorithm)X
  1990. 2418 1620(due)N
  1991. 2565(to)X
  1992. 2658(Ken)X
  1993. 2823(Thompson)X
  1994. 3196([THOM90,)X
  1995. 3590(TOR88],)X
  1996. 3908(uses)X
  1997. 4076(the)X
  1998. 2418 1708(hash)N
  1999. 2625(value)X
  2000. 2839(and)X
  2001. 2995(the)X
  2002. 3133(bitmap)X
  2003. 3395(to)X
  2004. 3497(calculate)X
  2005. 3823(the)X
  2006. 3960(bucket)X
  2007. 2418 1796(address)N
  2008. 2679(as)X
  2009. 2766(discussed)X
  2010. 3093(above.)X
  2011. 0(Courier)xf 0 f
  2012. 1 f
  2013. 0 f
  2014. 8 s
  2015. 2418 2095(hash)N
  2016. 2608(=)X
  2017. 2684 -0.4038(calchash(key);)AX
  2018. 2418 2183(mask)N
  2019. 2608(=)X
  2020. 2684(0;)X
  2021. 2418 2271(while)N
  2022. 2646 -0.4018((isbitset((hash)AX
  2023. 3254(&)X
  2024. 3330(mask))X
  2025. 3558(+)X
  2026. 3634(mask)))X
  2027. 2706 2359(mask)N
  2028. 2896(=)X
  2029. 2972((mask)X
  2030. 3200(<<)X
  2031. 3314(1))X
  2032. 3428(+)X
  2033. 3504(1;)X
  2034. 2418 2447(bucket)N
  2035. 2684(=)X
  2036. 2760(hash)X
  2037. 2950(&)X
  2038. 3026(mask;)X
  2039. 2 f
  2040. 10 s
  2041. 3211 2812(sdbm)N
  2042. 1 f
  2043. 2590 2944(The)N
  2044. 2 f
  2045. 2738(sdbm)X
  2046. 1 f
  2047. 2930(library)X
  2048. 3167(is)X
  2049. 3243(a)X
  2050. 3302(public-domain)X
  2051. 3791(clone)X
  2052. 3987(of)X
  2053. 4076(the)X
  2054. 2 f
  2055. 2418 3032(ndbm)N
  2056. 1 f
  2057. 2638(library,)X
  2058. 2914(developed)X
  2059. 3286(by)X
  2060. 3408(Ozan)X
  2061. 3620(Yigit)X
  2062. 3826(to)X
  2063. 3929(provide)X
  2064. 2 f
  2065. 2418 3120(ndbm)N
  2066. 1 f
  2067. 2596('s)X
  2068. 2692(functionality)X
  2069. 3139(under)X
  2070. 3359(some)X
  2071. 3565(versions)X
  2072. 3869(of)X
  2073. 3973(UNIX)X
  2074. 2418 3208(that)N
  2075. 2559(exclude)X
  2076. 2830(it)X
  2077. 2894(for)X
  2078. 3008(licensing)X
  2079. 3317(reasons)X
  2080. 3578([YIG89].)X
  2081. 3895(The)X
  2082. 4040(pro-)X
  2083. 2418 3296(grammer)N
  2084. 2735(interface,)X
  2085. 3064(and)X
  2086. 3207(the)X
  2087. 3332(basic)X
  2088. 3524(structure)X
  2089. 3832(of)X
  2090. 2 f
  2091. 3926(sdbm)X
  2092. 1 f
  2093. 4121(is)X
  2094. 2418 3384(identical)N
  2095. 2733(to)X
  2096. 2 f
  2097. 2834(ndbm)X
  2098. 1 f
  2099. 3051(but)X
  2100. 3192(internal)X
  2101. 3476(details)X
  2102. 3723(of)X
  2103. 3828(the)X
  2104. 2 f
  2105. 3964(access)X
  2106. 1 f
  2107. 2418 3472(function,)N
  2108. 2726(such)X
  2109. 2894(as)X
  2110. 2982(the)X
  2111. 3101(calculation)X
  2112. 3474(of)X
  2113. 3561(the)X
  2114. 3679(bucket)X
  2115. 3913(address,)X
  2116. 2418 3560(and)N
  2117. 2563(the)X
  2118. 2690(use)X
  2119. 2825(of)X
  2120. 2920(different)X
  2121. 3225(hash)X
  2122. 3400(functions)X
  2123. 3726(make)X
  2124. 3928(the)X
  2125. 4054(two)X
  2126. 2418 3648(incompatible)N
  2127. 2856(at)X
  2128. 2934(the)X
  2129. 3052(database)X
  2130. 3349(level.)X
  2131. 2590 3762(The)N
  2132. 2 f
  2133. 2740(sdbm)X
  2134. 1 f
  2135. 2934(library)X
  2136. 3173(is)X
  2137. 3251(based)X
  2138. 3458(on)X
  2139. 3562(a)X
  2140. 3622(simpli256ed)X
  2141. 3965(imple-)X
  2142. 2418 3850(mentation)N
  2143. 2778(of)X
  2144. 2885(Larson's)X
  2145. 3206(1978)X
  2146. 2 f
  2147. 3406(dynamic)X
  2148. 3717(hashing)X
  2149. 1 f
  2150. 4009(algo-)X
  2151. 2418 3938(rithm)N
  2152. 2616(including)X
  2153. 2943(the)X
  2154. 2 f
  2155. 3066(re256nements)X
  2156. 3461(and)X
  2157. 3605(variations)X
  2158. 1 f
  2159. 3953(of)X
  2160. 4044(sec-)X
  2161. 2418 4026(tion)N
  2162. 2562(5)X
  2163. 2622([LAR78].)X
  2164. 2956(Larson's)X
  2165. 3257(original)X
  2166. 3526(algorithm)X
  2167. 3857(calls)X
  2168. 4024(for)X
  2169. 4138(a)X
  2170. 2418 4114(forest)N
  2171. 2635(of)X
  2172. 2736(binary)X
  2173. 2975(hash)X
  2174. 3156(trees)X
  2175. 3341(that)X
  2176. 3494(are)X
  2177. 3626(accessed)X
  2178. 3941(by)X
  2179. 4054(two)X
  2180. 2418 4202(hash)N
  2181. 2586(functions.)X
  2182. 2925(The)X
  2183. 3071(256rst)X
  2184. 3216(hash)X
  2185. 3384(function)X
  2186. 3672(selects)X
  2187. 3907(a)X
  2188. 3964(partic-)X
  2189. 2418 4290(ular)N
  2190. 2571(tree)X
  2191. 2720(within)X
  2192. 2952(the)X
  2193. 3078(forest.)X
  2194. 3309(The)X
  2195. 3462(second)X
  2196. 3713(hash)X
  2197. 3887(function,)X
  2198. 2418 4378(which)N
  2199. 2659(is)X
  2200. 2757(required)X
  2201. 3070(to)X
  2202. 3177(be)X
  2203. 3297(a)X
  2204. 3377(boolean)X
  2205. 3675(pseudo-random)X
  2206. 2418 4466(number)N
  2207. 2687(generator)X
  2208. 3015(that)X
  2209. 3159(is)X
  2210. 3236(seeded)X
  2211. 3479(by)X
  2212. 3583(the)X
  2213. 3705(key,)X
  2214. 3865(is)X
  2215. 3942(used)X
  2216. 4112(to)X
  2217. 2418 4554(traverse)N
  2218. 2733(the)X
  2219. 2890(tree)X
  2220. 3070(until)X
  2221. 3275(internal)X
  2222. 3579((split))X
  2223. 3829(nodes)X
  2224. 4075(are)X
  2225. 2418 4642(exhausted)N
  2226. 2763(and)X
  2227. 2903(an)X
  2228. 3003(external)X
  2229. 3286((non-split))X
  2230. 3648(node)X
  2231. 3827(is)X
  2232. 3903(reached.)X
  2233. 2418 4730(The)N
  2234. 2571(bucket)X
  2235. 2813(addresses)X
  2236. 3149(are)X
  2237. 3276(stored)X
  2238. 3500(directly)X
  2239. 3772(in)X
  2240. 3861(the)X
  2241. 3986(exter-)X
  2242. 2418 4818(nal)N
  2243. 2536(nodes.)X
  2244. 2590 4932(Larson's)N
  2245. 2903(re256nements)X
  2246. 3309(are)X
  2247. 3440(based)X
  2248. 3655(on)X
  2249. 3767(the)X
  2250. 3897(observa-)X
  2251. 2418 5020(tion)N
  2252. 2570(that)X
  2253. 2718(the)X
  2254. 2844(nodes)X
  2255. 3059(can)X
  2256. 3199(be)X
  2257. 3303(represented)X
  2258. 3702(by)X
  2259. 3809(a)X
  2260. 3872(single)X
  2261. 4090(bit)X
  2262. 2418 5108(that)N
  2263. 2569(is)X
  2264. 2653(set)X
  2265. 2773(for)X
  2266. 2898(internal)X
  2267. 3174(nodes)X
  2268. 3392(and)X
  2269. 3539(not)X
  2270. 3672(set)X
  2271. 3791(for)X
  2272. 3915(external)X
  2273. 2418 5196(nodes,)N
  2274. 2652(resulting)X
  2275. 2959(in)X
  2276. 3048(a)X
  2277. 3111(radix)X
  2278. 3303(search)X
  2279. 3536(trie.)X
  2280. 3709(Figure)X
  2281. 3944(1)X
  2282. 4010(illus-)X
  2283. 2418 5284(trates)N
  2284. 2621(this.)X
  2285. 2804(Nodes)X
  2286. 3037(A)X
  2287. 3123(and)X
  2288. 3267(B)X
  2289. 3348(are)X
  2290. 3475(internal)X
  2291. 3748((split))X
  2292. 3967(nodes,)X
  2293. 2418 5372(thus)N
  2294. 2573(having)X
  2295. 2813(no)X
  2296. 2915(bucket)X
  2297. 3151(addresses)X
  2298. 3480(associated)X
  2299. 3831(with)X
  2300. 3994(them.)X
  2301. 2418 5460(Instead,)N
  2302. 2693(the)X
  2303. 2814(external)X
  2304. 3096(nodes)X
  2305. 3306((C,)X
  2306. 3429(D,)X
  2307. 3530(and)X
  2308. 3669(E))X
  2309. 3768(each)X
  2310. 3938(need)X
  2311. 4112(to)X
  2312. 2418 5548(refer)N
  2313. 2594(to)X
  2314. 2679(a)X
  2315. 2738(bucket)X
  2316. 2975(address.)X
  2317. 3279(These)X
  2318. 3494(bucket)X
  2319. 3731(addresses)X
  2320. 4062(can)X
  2321. 2418 5636(be)N
  2322. 2529(stored)X
  2323. 2760(in)X
  2324. 2857(the)X
  2325. 2990(trie)X
  2326. 3132(itself)X
  2327. 3327(where)X
  2328. 3559(the)X
  2329. 3691(subtries)X
  2330. 3974(would)X
  2331. 3 f
  2332. 432 5960(2)N
  2333. 2970(USENIX)X
  2334. 9 f
  2335. 3292(-)X
  2336. 3 f
  2337. 3356(Winter)X
  2338. 3621('91)X
  2339. 9 f
  2340. 3748(-)X
  2341. 3 f
  2342. 3812(Dallas,)X
  2343. 4065(TX)X
  2344. 3 p
  2345. %%Page: 3 3
  2346. 0(Courier)xf 0 f
  2347. 10 s 10 xH 0 xS 0 f
  2348. 3 f
  2349. 720 258(Seltzer)N
  2350. 977(&)X
  2351. 1064(Yigit)X
  2352. 3278(A)X
  2353. 3356(New)X
  2354. 3528(Hashing)X
  2355. 3831(Package)X
  2356. 4136(for)X
  2357. 4259(UNIX)X
  2358. 1 f
  2359. 720 538(live)N
  2360. 862(if)X
  2361. 933(they)X
  2362. 1092(existed)X
  2363. 1340([KNU68].)X
  2364. 1709(For)X
  2365. 1841(example,)X
  2366. 2154(if)X
  2367. 2224(nodes)X
  2368. 2432(F)X
  2369. 720 626(and)N
  2370. 858(G)X
  2371. 938(were)X
  2372. 1117(the)X
  2373. 1237(children)X
  2374. 1522(of)X
  2375. 1610(node)X
  2376. 1787(C,)X
  2377. 1881(the)X
  2378. 2000(bucket)X
  2379. 2235(address)X
  2380. 720 714(L00)N
  2381. 886(could)X
  2382. 1101(reside)X
  2383. 1330(in)X
  2384. 1429(the)X
  2385. 1563(bits)X
  2386. 1714(that)X
  2387. 1870(will)X
  2388. 2030(eventually)X
  2389. 2400(be)X
  2390. 720 802(used)N
  2391. 887(to)X
  2392. 969(store)X
  2393. 1145(nodes)X
  2394. 1352(F)X
  2395. 1416(and)X
  2396. 1552(G)X
  2397. 1630(and)X
  2398. 1766(all)X
  2399. 1866(their)X
  2400. 2033(children.)X
  2401. 10 f
  2402. 720 890 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
  2403. 3 f
  2404. 1894 2247(L1)N
  2405. 784 1925(A)N
  2406. 1431(E)X
  2407. 1106 2247(D)N
  2408. 1428 1281(C)N
  2409. 1109 1603(B)N
  2410. 1884 1930(L01)N
  2411. 1879 1286(L00)N
  2412. 1221 1814(1)N
  2413. 903 2131(1)N
  2414. 1221 1402(0)N
  2415. 903 1714(0)N
  2416. 1 Dt
  2417. 1397 1821 MXY
  2418. -8 -32 Dl
  2419. -5 19 Dl
  2420. -20 6 Dl
  2421. 33 7 Dl
  2422. -187 -182 Dl
  2423. 1397 1322 MXY
  2424. -33 7 Dl
  2425. 20 6 Dl
  2426. 5 19 Dl
  2427. 8 -32 Dl
  2428. -187 182 Dl
  2429. 1069 1639 MXY
  2430. -32 7 Dl
  2431. 20 6 Dl
  2432. 5 19 Dl
  2433. 7 -32 Dl
  2434. -186 182 Dl
  2435. 1374 1891 MXY
  2436. 185 Dc
  2437. 1779 2133 MXY
  2438. 0 161 Dl
  2439. 322 0 Dl
  2440. 0 -161 Dl
  2441. -322 0 Dl
  2442. 1811 MY
  2443. 0 161 Dl
  2444. 322 0 Dl
  2445. 0 -161 Dl
  2446. -322 0 Dl
  2447. 1166 MY
  2448. 0 161 Dl
  2449. 322 0 Dl
  2450. 0 -161 Dl
  2451. -322 0 Dl
  2452. 1052 2213 MXY
  2453. 185 Dc
  2454. 1569 MY
  2455. 185 Dc
  2456. 720 1881 MXY
  2457. 185 Dc
  2458. 1779 2213 MXY
  2459. -28 -17 Dl
  2460. 10 17 Dl
  2461. -10 18 Dl
  2462. 28 -18 Dl
  2463. -543 0 Dl
  2464. 1769 1891 MXY
  2465. -28 -18 Dl
  2466. 10 18 Dl
  2467. -10 18 Dl
  2468. 28 -18 Dl
  2469. -201 0 Dl
  2470. 1364 1247 MXY
  2471. 185 Dc
  2472. 1769 MX
  2473. -28 -18 Dl
  2474. 10 18 Dl
  2475. -10 18 Dl
  2476. 28 -18 Dl
  2477. -201 0 Dl
  2478. 1064 2143 MXY
  2479. -7 -32 Dl
  2480. -5 19 Dl
  2481. -20 6 Dl
  2482. 32 7 Dl
  2483. -181 -181 Dl
  2484. 3 Dt
  2485. -1 Ds
  2486. 8 s
  2487. 720 2482(Figure)N
  2488. 925(1:)X
  2489. 1 f
  2490. 1002(Radix)X
  2491. 1179(search)X
  2492. 1365(trie)X
  2493. 1474(with)X
  2494. 1612(internal)X
  2495. 1831(nodes)X
  2496. 2004(A)X
  2497. 2074(and)X
  2498. 2189(B,)X
  2499. 2271(external)X
  2500. 720 2570(nodes)N
  2501. 891(C,)X
  2502. 972(D,)X
  2503. 1056(and)X
  2504. 1170(E,)X
  2505. 1247(and)X
  2506. 1361(bucket)X
  2507. 1553(addresses)X
  2508. 1819(stored)X
  2509. 1997(in)X
  2510. 2069(the)X
  2511. 2168(unused)X
  2512. 2370(por-)X
  2513. 720 2658(tion)N
  2514. 836(of)X
  2515. 905(the)X
  2516. 999(trie.)X
  2517. 10 s
  2518. 10 f
  2519. 720 2922 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
  2520. 1 f
  2521. 892 3124(Further)N
  2522. 1153(simpli256cations)X
  2523. 1647(of)X
  2524. 1738(the)X
  2525. 1860(above)X
  2526. 2076([YIG89])X
  2527. 2377(are)X
  2528. 720 3212(possible.)N
  2529. 1038(Using)X
  2530. 1265(a)X
  2531. 1337(single)X
  2532. 1564(radix)X
  2533. 1765(trie)X
  2534. 1908(to)X
  2535. 2006(avoid)X
  2536. 2219(the)X
  2537. 2352(256rst)X
  2538. 720 3300(hash)N
  2539. 904(function,)X
  2540. 1227(replacing)X
  2541. 1562(the)X
  2542. 1696(pseudo-random)X
  2543. 2231(number)X
  2544. 720 3388(generator)N
  2545. 1052(with)X
  2546. 1222(a)X
  2547. 1286(well)X
  2548. 1452(designed,)X
  2549. 1785(bit-randomizing)X
  2550. 2329(hash)X
  2551. 720 3476(function,)N
  2552. 1053(and)X
  2553. 1215(using)X
  2554. 1434(the)X
  2555. 1578(portion)X
  2556. 1855(of)X
  2557. 1967(the)X
  2558. 2110(hash)X
  2559. 2302(value)X
  2560. 720 3564(exposed)N
  2561. 1021(during)X
  2562. 1268(the)X
  2563. 1404(trie)X
  2564. 1549(traversal)X
  2565. 1864(as)X
  2566. 1969(a)X
  2567. 2042(direct)X
  2568. 2262(bucket)X
  2569. 720 3652(address)N
  2570. 990(results)X
  2571. 1228(in)X
  2572. 1319(an)X
  2573. 2 f
  2574. 1424(access)X
  2575. 1 f
  2576. 1663(function)X
  2577. 1959(that)X
  2578. 2108(works)X
  2579. 2333(very)X
  2580. 720 3740(similar)N
  2581. 974(to)X
  2582. 1068(Thompson's)X
  2583. 1499(algorithm)X
  2584. 1841(above.)X
  2585. 2084(The)X
  2586. 2240(follow-)X
  2587. 720 3828(ing)N
  2588. 847(algorithm)X
  2589. 1183(uses)X
  2590. 1346(the)X
  2591. 1469(hash)X
  2592. 1641(value)X
  2593. 1840(to)X
  2594. 1927(traverse)X
  2595. 2206(a)X
  2596. 2266(linear-)X
  2597. 720 3916(ized)N
  2598. 874(radix)X
  2599. 1059(trie)X
  2600. 2 f
  2601. 8 s
  2602. 1166 3891(3)N
  2603. 1 f
  2604. 10 s
  2605. 1218 3916(starting)N
  2606. 1478(at)X
  2607. 1556(the)X
  2608. 1674(0)X
  2609. 2 f
  2610. 7 s
  2611. 3884(th)Y
  2612. 10 s
  2613. 1 f
  2614. 1791 3916(bit.)N
  2615. 0 f
  2616. 8 s
  2617. 720 4215(tbit)N
  2618. 910(=)X
  2619. 986(0;)X
  2620. 1296(/*)X
  2621. 1410(radix)X
  2622. 1638(trie)X
  2623. 1828(index)X
  2624. 2056(*/)X
  2625. 720 4303(hbit)N
  2626. 910(=)X
  2627. 986(0;)X
  2628. 1296(/*)X
  2629. 1410(hash)X
  2630. 1600(bit)X
  2631. 1752(index)X
  2632. 2056(*/)X
  2633. 720 4391(mask)N
  2634. 910(=)X
  2635. 986(0;)X
  2636. 720 4479(hash)N
  2637. 910(=)X
  2638. 986 -0.4038(calchash(key);)AX
  2639. 720 4655(for)N
  2640. 872((mask)X
  2641. 1100(=)X
  2642. 1176(0;)X
  2643. 910 4743 -0.4018(isbitset(tbit);)AN
  2644. 910 4831(mask)N
  2645. 1100(=)X
  2646. 1176((mask)X
  2647. 1404(<<)X
  2648. 1518(1))X
  2649. 1632(+)X
  2650. 1708(1))X
  2651. 1008 4919(if)N
  2652. 1122((hash)X
  2653. 1350(&)X
  2654. 1426((1)X
  2655. 1540(<<)X
  2656. 1654 -0.4219(hbit++))))AX
  2657. 1160 5007(/*)N
  2658. 1274(right)X
  2659. 1502(son)X
  2660. 1692(*/)X
  2661. 1160 5095(tbit)N
  2662. 1350(=)X
  2663. 1426(2)X
  2664. 1502(*)X
  2665. 1578(tbit)X
  2666. 1768(+)X
  2667. 1844(2;)X
  2668. 1008 5183(else)N
  2669. 1 f
  2670. 16 s
  2671. 720 5353 MXY
  2672. 864 0 Dl
  2673. 2 f
  2674. 8 s
  2675. 760 5408(3)N
  2676. 1 f
  2677. 9 s
  2678. 818 5433(A)N
  2679. 896(linearized)X
  2680. 1206(radix)X
  2681. 1380(trie)X
  2682. 1502(is)X
  2683. 1576(merely)X
  2684. 1802(an)X
  2685. 1895(array)X
  2686. 2068(representation)X
  2687. 720 5513(of)N
  2688. 800(the)X
  2689. 908(radix)X
  2690. 1076(search)X
  2691. 1280(trie)X
  2692. 1396(described)X
  2693. 1692(above.)X
  2694. 1920(The)X
  2695. 2052(children)X
  2696. 2308(of)X
  2697. 2388(the)X
  2698. 720 5593(node)N
  2699. 885(with)X
  2700. 1038(index)X
  2701. 1223(i)X
  2702. 1267(can)X
  2703. 1391(be)X
  2704. 1483(found)X
  2705. 1675(at)X
  2706. 1751(the)X
  2707. 1863(nodes)X
  2708. 2055(indexed)X
  2709. 2307(2*i+1)X
  2710. 720 5673(and)N
  2711. 842(2*i+2.)X
  2712. 0 f
  2713. 8 s
  2714. 3146 538(/*)N
  2715. 3260(left)X
  2716. 3450(son)X
  2717. 3678(*/)X
  2718. 3146 626(tbit)N
  2719. 3336(=)X
  2720. 3412(2)X
  2721. 3488(*)X
  2722. 3564(tbit)X
  2723. 3754(+)X
  2724. 3830(1;)X
  2725. 2706 802(bucket)N
  2726. 2972(=)X
  2727. 3048(hash)X
  2728. 3238(&)X
  2729. 3314(mask;)X
  2730. 2 f
  2731. 10 s
  2732. 3495 1167(gdbm)N
  2733. 1 f
  2734. 2878 1299(The)N
  2735. 3027(gdbm)X
  2736. 3233((GNU)X
  2737. 3458(data)X
  2738. 3616(base)X
  2739. 3783(manager))X
  2740. 4111(library)X
  2741. 4349(is)X
  2742. 4426(a)X
  2743. 2706 1387(UNIX)N
  2744. 2933(database)X
  2745. 3236(manager)X
  2746. 3539(written)X
  2747. 3792(by)X
  2748. 3897(Philip)X
  2749. 4112(A.)X
  2750. 4215(Nelson,)X
  2751. 2706 1475(and)N
  2752. 2848(made)X
  2753. 3048(available)X
  2754. 3364(as)X
  2755. 3457(a)X
  2756. 3518(part)X
  2757. 3668(of)X
  2758. 3760(the)X
  2759. 3883(FSF)X
  2760. 4040(software)X
  2761. 4342(dis-)X
  2762. 2706 1563(tribution.)N
  2763. 3052(The)X
  2764. 3207(gdbm)X
  2765. 3419(library)X
  2766. 3663(provides)X
  2767. 3969(the)X
  2768. 4097(same)X
  2769. 4292(func-)X
  2770. 2706 1651(tionality)N
  2771. 3028(of)X
  2772. 3151(the)X
  2773. 2 f
  2774. 3304(dbm)X
  2775. 1 f
  2776. 3442(/)X
  2777. 2 f
  2778. 3464(ndbm)X
  2779. 1 f
  2780. 3697(libraries)X
  2781. 4015([NEL90])X
  2782. 4360(but)X
  2783. 2706 1739(attempts)N
  2784. 3018(to)X
  2785. 3121(avoid)X
  2786. 3340(some)X
  2787. 3550(of)X
  2788. 3658(their)X
  2789. 3846(shortcomings.)X
  2790. 4337(The)X
  2791. 2706 1827(gdbm)N
  2792. 2918(library)X
  2793. 3162(allows)X
  2794. 3401(for)X
  2795. 3525(arbitrary-length)X
  2796. 4059(data,)X
  2797. 4242(and)X
  2798. 4387(its)X
  2799. 2706 1915(database)N
  2800. 3027(is)X
  2801. 3124(a)X
  2802. 3203(singular,)X
  2803. 3524(non-sparse)X
  2804. 2 f
  2805. 8 s
  2806. 3872 1890(4)N
  2807. 1 f
  2808. 10 s
  2809. 3947 1915(256le.)N
  2810. 4112(The)X
  2811. 4280(gdbm)X
  2812. 2706 2003(library)N
  2813. 2947(also)X
  2814. 3103(includes)X
  2815. 2 f
  2816. 3396(dbm)X
  2817. 1 f
  2818. 3560(and)X
  2819. 2 f
  2820. 3702(ndbm)X
  2821. 1 f
  2822. 3906(compatible)X
  2823. 4288(inter-)X
  2824. 2706 2091(faces.)N
  2825. 2878 2205(The)N
  2826. 3025(gdbm)X
  2827. 3229(library)X
  2828. 3465(is)X
  2829. 3540(based)X
  2830. 3745(on)X
  2831. 2 f
  2832. 3847(extensible)X
  2833. 4189(hashing)X
  2834. 1 f
  2835. 4442(,)X
  2836. 2706 2293(a)N
  2837. 2766(dynamic)X
  2838. 3066(hashing)X
  2839. 3339(algorithm)X
  2840. 3674(by)X
  2841. 3778(Fagin)X
  2842. 3984(et)X
  2843. 4066(al)X
  2844. 4148([FAG79].)X
  2845. 2706 2381(This)N
  2846. 2881(algorithm)X
  2847. 3225(differs)X
  2848. 3467(from)X
  2849. 3655(the)X
  2850. 3785(previously)X
  2851. 4155(discussed)X
  2852. 2706 2469(algorithms)N
  2853. 3069(in)X
  2854. 3152(that)X
  2855. 3293(it)X
  2856. 3358(uses)X
  2857. 3517(a)X
  2858. 2 f
  2859. 3574(directory)X
  2860. 1 f
  2861. 3889(that)X
  2862. 4030(is)X
  2863. 4103(a)X
  2864. 4159(collapsed)X
  2865. 2706 2557(representation)N
  2866. 3192([ENB88])X
  2867. 3517(of)X
  2868. 3615(the)X
  2869. 3744(radix)X
  2870. 3940(search)X
  2871. 4177(trie)X
  2872. 4315(used)X
  2873. 2706 2645(by)N
  2874. 2 f
  2875. 2806(sdbm)X
  2876. 1 f
  2877. 2975(.)X
  2878. 10 f
  2879. 2706 2733 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
  2880. 3 f
  2881. 7 s
  2882. 3572 3761(L1)N
  2883. 1 Dt
  2884. 3485 3738 MXY
  2885. -20 -13 Dl
  2886. 7 13 Dl
  2887. -7 13 Dl
  2888. 20 -13 Dl
  2889. -400 0 Dl
  2890. 3180 3027 MXY
  2891. 136 Dc
  2892. 2706 3494 MXY
  2893. 136 Dc
  2894. 2950 3264 MXY
  2895. 136 Dc
  2896. 3738 MY
  2897. 136 Dc
  2898. 3485 2968 MXY
  2899. 0 118 Dl
  2900. 238 0 Dl
  2901. 0 -118 Dl
  2902. -238 0 Dl
  2903. 3442 MY
  2904. 0 119 Dl
  2905. 238 0 Dl
  2906. 0 -119 Dl
  2907. -238 0 Dl
  2908. 3679 MY
  2909. 0 119 Dl
  2910. 238 0 Dl
  2911. 0 -119 Dl
  2912. -238 0 Dl
  2913. 3187 3501 MXY
  2914. 136 Dc
  2915. 2963 3316 MXY
  2916. -24 5 Dl
  2917. 15 4 Dl
  2918. 4 15 Dl
  2919. 5 -24 Dl
  2920. -137 134 Dl
  2921. 3204 3083 MXY
  2922. -24 5 Dl
  2923. 15 4 Dl
  2924. 3 14 Dl
  2925. 6 -23 Dl
  2926. -137 133 Dl
  2927. 3204 3450 MXY
  2928. -6 -24 Dl
  2929. -3 14 Dl
  2930. -15 5 Dl
  2931. 24 5 Dl
  2932. -137 -134 Dl
  2933. 2842 3369(0)N
  2934. 3075 3139(0)N
  2935. 2842 3676(1)N
  2936. 3075 3443(1)N
  2937. 3562 3054(L00)N
  2938. 3565 3528(L01)N
  2939. 4197 2968 MXY
  2940. 0 118 Dl
  2941. 237 0 Dl
  2942. 0 -118 Dl
  2943. -237 0 Dl
  2944. 3205 MY
  2945. 0 119 Dl
  2946. 237 0 Dl
  2947. 0 -119 Dl
  2948. -237 0 Dl
  2949. 3561 MY
  2950. 0 118 Dl
  2951. 237 0 Dl
  2952. 0 -118 Dl
  2953. -237 0 Dl
  2954. 3960 2909 MXY
  2955. 0 237 Dl
  2956. 118 0 Dl
  2957. 0 -237 Dl
  2958. -118 0 Dl
  2959. 3146 MY
  2960. 0 237 Dl
  2961. 118 0 Dl
  2962. 0 -237 Dl
  2963. -118 0 Dl
  2964. 3383 MY
  2965. 0 237 Dl
  2966. 118 0 Dl
  2967. 0 -237 Dl
  2968. -118 0 Dl
  2969. 3620 MY
  2970. 0 237 Dl
  2971. 118 0 Dl
  2972. 0 -237 Dl
  2973. -118 0 Dl
  2974. 4197 3027 MXY
  2975. -21 -13 Dl
  2976. 8 13 Dl
  2977. -8 13 Dl
  2978. 21 -13 Dl
  2979. -119 0 Dl
  2980. 4197 3264 MXY
  2981. -21 -13 Dl
  2982. 8 13 Dl
  2983. -8 13 Dl
  2984. 21 -13 Dl
  2985. -119 0 Dl
  2986. 3501 MY
  2987. 59 0 Dl
  2988. 0 89 Dl
  2989. 4078 3738 MXY
  2990. 59 0 Dl
  2991. 0 -88 Dl
  2992. 4197 3590 MXY
  2993. -21 -13 Dl
  2994. 8 13 Dl
  2995. -8 13 Dl
  2996. 21 -13 Dl
  2997. -60 0 Dl
  2998. 4197 3650 MXY
  2999. -21 -13 Dl
  3000. 8 13 Dl
  3001. -8 13 Dl
  3002. 21 -13 Dl
  3003. -60 0 Dl
  3004. 3991 3050(00)N
  3005. 3991 3287(01)N
  3006. 3991 3524(10)N
  3007. 3991 3761(11)N
  3008. 4269 3050(L00)N
  3009. 4269 3287(L01)N
  3010. 4283 3643(L1)N
  3011. 3485 3501 MXY
  3012. -20 -13 Dl
  3013. 7 13 Dl
  3014. -7 13 Dl
  3015. 20 -13 Dl
  3016. -155 0 Dl
  3017. 3485 3027 MXY
  3018. -20 -13 Dl
  3019. 7 13 Dl
  3020. -7 13 Dl
  3021. 20 -13 Dl
  3022. -163 0 Dl
  3023. 2967 3687 MXY
  3024. -5 -24 Dl
  3025. -4 14 Dl
  3026. -15 4 Dl
  3027. 24 6 Dl
  3028. -141 -141 Dl
  3029. 3 Dt
  3030. -1 Ds
  3031. 8 s
  3032. 2706 4033(Figure)N
  3033. 2903(2:)X
  3034. 1 f
  3035. 2972(A)X
  3036. 3034(radix)X
  3037. 3181(search)X
  3038. 3359(trie)X
  3039. 3460(and)X
  3040. 3568(a)X
  3041. 3612(directory)X
  3042. 3858(representing)X
  3043. 4189(the)X
  3044. 4283(trie.)X
  3045. 10 s
  3046. 10 f
  3047. 2706 4209 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
  3048. 1 f
  3049. 2878 4411(In)N
  3050. 2968(this)X
  3051. 3106(algorithm,)X
  3052. 3460(a)X
  3053. 3519(directory)X
  3054. 3832(consists)X
  3055. 4108(of)X
  3056. 4198(a)X
  3057. 4256(search)X
  3058. 2706 4499(trie)N
  3059. 2847(of)X
  3060. 2947(depth)X
  3061. 2 f
  3062. 3158(n)X
  3063. 1 f
  3064. 3211(,)X
  3065. 3264(containing)X
  3066. 3635(2)X
  3067. 2 f
  3068. 7 s
  3069. 4467(n)Y
  3070. 10 s
  3071. 1 f
  3072. 3749 4499(bucket)N
  3073. 3996(addresses)X
  3074. 4337((i.e.)X
  3075. 2706 4587(each)N
  3076. 2897(element)X
  3077. 3194(of)X
  3078. 3304(the)X
  3079. 3445(trie)X
  3080. 3594(is)X
  3081. 3689(a)X
  3082. 3767(bucket)X
  3083. 4023(address).)X
  3084. 4373(To)X
  3085. 2706 4675(access)N
  3086. 2935(the)X
  3087. 3056(hash)X
  3088. 3226(table,)X
  3089. 3425(a)X
  3090. 3483(32-bit)X
  3091. 3696(hash)X
  3092. 3865(value)X
  3093. 4061(is)X
  3094. 4136(calculated)X
  3095. 2706 4763(and)N
  3096. 2 f
  3097. 2861(n)X
  3098. 1 f
  3099. 2953(bits)X
  3100. 3107(of)X
  3101. 3213(the)X
  3102. 3350(value)X
  3103. 3563(are)X
  3104. 3701(used)X
  3105. 3886(to)X
  3106. 3986(index)X
  3107. 4202(into)X
  3108. 4364(the)X
  3109. 2706 4851(directory)N
  3110. 3018(to)X
  3111. 3102(obtain)X
  3112. 3324(a)X
  3113. 3382(bucket)X
  3114. 3618(address.)X
  3115. 3921(It)X
  3116. 3992(is)X
  3117. 4067(important)X
  3118. 4400(to)X
  3119. 2706 4939(note)N
  3120. 2866(that)X
  3121. 3008(multiple)X
  3122. 3296(entries)X
  3123. 3532(of)X
  3124. 3620(this)X
  3125. 3756(directory)X
  3126. 4067(may)X
  3127. 4226(contain)X
  3128. 2706 5027(the)N
  3129. 2833(same)X
  3130. 3026(bucket)X
  3131. 3268(address)X
  3132. 3537(as)X
  3133. 3632(a)X
  3134. 3696(result)X
  3135. 3902(of)X
  3136. 3997(directory)X
  3137. 4315(dou-)X
  3138. 2706 5115(bling)N
  3139. 2903(during)X
  3140. 3145(bucket)X
  3141. 3392(splitting.)X
  3142. 3706(Figure)X
  3143. 3948(2)X
  3144. 4021(illustrates)X
  3145. 4364(the)X
  3146. 2706 5203(relationship)N
  3147. 3126(between)X
  3148. 3436(a)X
  3149. 3513(typical)X
  3150. 3772((skewed))X
  3151. 4108(search)X
  3152. 4355(trie)X
  3153. 2706 5291(and)N
  3154. 2850(its)X
  3155. 2953(directory)X
  3156. 3271(representation.)X
  3157. 3774(The)X
  3158. 3927(formation)X
  3159. 4270(of)X
  3160. 4364(the)X
  3161. 2706 5379(directory)N
  3162. 3016(shown)X
  3163. 3245(in)X
  3164. 3327(the)X
  3165. 3445(256gure)X
  3166. 3652(is)X
  3167. 3725(as)X
  3168. 3812(follows.)X
  3169. 16 s
  3170. 2706 5593 MXY
  3171. 864 0 Dl
  3172. 2 f
  3173. 8 s
  3174. 2746 5648(4)N
  3175. 1 f
  3176. 9 s
  3177. 2796 5673(It)N
  3178. 2858(does)X
  3179. 3008(not)X
  3180. 3118(contain)X
  3181. 3348(holes.)X
  3182. 3 f
  3183. 10 s
  3184. 720 5960(USENIX)N
  3185. 9 f
  3186. 1042(-)X
  3187. 3 f
  3188. 1106(Winter)X
  3189. 1371('91)X
  3190. 9 f
  3191. 1498(-)X
  3192. 3 f
  3193. 1562(Dallas,)X
  3194. 1815(TX)X
  3195. 4424(3)X
  3196. 4 p
  3197. %%Page: 4 4
  3198. 0(Courier)xf 0 f
  3199. 10 s 10 xH 0 xS 0 f
  3200. 3 f
  3201. 432 258(A)N
  3202. 510(New)X
  3203. 682(Hashing)X
  3204. 985(Package)X
  3205. 1290(for)X
  3206. 1413(UNIX)X
  3207. 3663(Seltzer)X
  3208. 3920(&)X
  3209. 4007(Yigit)X
  3210. 1 f
  3211. 604 538(Initially,)N
  3212. 937(there)X
  3213. 1158(is)X
  3214. 1271(one)X
  3215. 1446(slot)X
  3216. 1620(in)X
  3217. 1741(the)X
  3218. 1898(directory)X
  3219. 432 626(addressing)N
  3220. 802(a)X
  3221. 865(single)X
  3222. 1083(bucket.)X
  3223. 1364(The)X
  3224. 1515(depth)X
  3225. 1719(of)X
  3226. 1812(the)X
  3227. 1936(trie)X
  3228. 2069(is)X
  3229. 2148(0)X
  3230. 432 714(and)N
  3231. 577(0)X
  3232. 646(bits)X
  3233. 790(of)X
  3234. 886(each)X
  3235. 1063(hash)X
  3236. 1239(value)X
  3237. 1442(are)X
  3238. 1570(examined)X
  3239. 1910(to)X
  3240. 2000(deter-)X
  3241. 432 802(mine)N
  3242. 624(in)X
  3243. 718(which)X
  3244. 946(bucket)X
  3245. 1192(to)X
  3246. 1286(place)X
  3247. 1488(a)X
  3248. 1556(key;)X
  3249. 1726(all)X
  3250. 1837(keys)X
  3251. 2015(go)X
  3252. 2126(in)X
  3253. 432 890(bucket)N
  3254. 682(0.)X
  3255. 797(When)X
  3256. 1024(this)X
  3257. 1174(bucket)X
  3258. 1423(is)X
  3259. 1511(full,)X
  3260. 1677(its)X
  3261. 1787(contents)X
  3262. 2089(are)X
  3263. 432 978(divided)N
  3264. 698(between)X
  3265. 992(L0)X
  3266. 1107(and)X
  3267. 1249(L1)X
  3268. 1363(as)X
  3269. 1455(was)X
  3270. 1605(done)X
  3271. 1786(in)X
  3272. 1873(the)X
  3273. 1996(previ-)X
  3274. 432 1066(ously)N
  3275. 664(discussed)X
  3276. 1030(algorithms.)X
  3277. 1471(After)X
  3278. 1700(this)X
  3279. 1874(split,)X
  3280. 2090(the)X
  3281. 432 1154(address)N
  3282. 710(of)X
  3283. 814(the)X
  3284. 948(second)X
  3285. 1207(bucket)X
  3286. 1457(must)X
  3287. 1648(be)X
  3288. 1760(stored)X
  3289. 1992(in)X
  3290. 2090(the)X
  3291. 432 1242(directory.)N
  3292. 796(To)X
  3293. 939(accommodate)X
  3294. 1438(the)X
  3295. 1589(new)X
  3296. 1776(address,)X
  3297. 2090(the)X
  3298. 432 1330(directory)N
  3299. 752(is)X
  3300. 835(split)X
  3301. 2 f
  3302. 8 s
  3303. 972 1305(5)N
  3304. 1 f
  3305. 10 s
  3306. 1330(,)Y
  3307. 1054(by)X
  3308. 1163(doubling)X
  3309. 1476(it,)X
  3310. 1569(thus)X
  3311. 1731(increasing)X
  3312. 2090(the)X
  3313. 432 1418(depth)N
  3314. 630(of)X
  3315. 717(the)X
  3316. 835(directory)X
  3317. 1145(by)X
  3318. 1245(one.)X
  3319. 604 1532(After)N
  3320. 813(this)X
  3321. 967(split,)X
  3322. 1163(a)X
  3323. 1237(single)X
  3324. 1466(bit)X
  3325. 1588(of)X
  3326. 1693(the)X
  3327. 1829(hash)X
  3328. 2014(value)X
  3329. 432 1620(needs)N
  3330. 663(to)X
  3331. 773(be)X
  3332. 896(examined)X
  3333. 1255(to)X
  3334. 1364(decide)X
  3335. 1621(whether)X
  3336. 1927(the)X
  3337. 2072(key)X
  3338. 432 1708(belongs)N
  3339. 711(to)X
  3340. 803(L0)X
  3341. 922(or)X
  3342. 1019(L1.)X
  3343. 1158(Once)X
  3344. 1358(one)X
  3345. 1504(of)X
  3346. 1601(these)X
  3347. 1795(buckets)X
  3348. 2069(256lls)X
  3349. 432 1796((L0)N
  3350. 578(for)X
  3351. 702(example),)X
  3352. 1051(it)X
  3353. 1125(is)X
  3354. 1208(split)X
  3355. 1375(as)X
  3356. 1472(before,)X
  3357. 1728(and)X
  3358. 1873(the)X
  3359. 2000(direc-)X
  3360. 432 1884(tory)N
  3361. 585(is)X
  3362. 662(split)X
  3363. 823(again)X
  3364. 1021(to)X
  3365. 1107(make)X
  3366. 1305(room)X
  3367. 1498(for)X
  3368. 1615(the)X
  3369. 1736(address)X
  3370. 2000(of)X
  3371. 2090(the)X
  3372. 432 1972(third)N
  3373. 618(bucket.)X
  3374. 927(This)X
  3375. 1104(splitting)X
  3376. 1400(causes)X
  3377. 1645(the)X
  3378. 1778(addresses)X
  3379. 2121(of)X
  3380. 432 2060(the)N
  3381. 567(non-splitting)X
  3382. 1012(bucket)X
  3383. 1263((L1))X
  3384. 1443(to)X
  3385. 1541(be)X
  3386. 1653(duplicated.)X
  3387. 2063(The)X
  3388. 432 2148(directory)N
  3389. 766(now)X
  3390. 948(has)X
  3391. 1099(four)X
  3392. 1277(entries,)X
  3393. 1555(a)X
  3394. 1635(depth)X
  3395. 1857(of)X
  3396. 1968(2,)X
  3397. 2072(and)X
  3398. 432 2236(indexes)N
  3399. 700(the)X
  3400. 821(buckets)X
  3401. 1089(L00,)X
  3402. 1261(L01)X
  3403. 1413(and)X
  3404. 1552(L1,)X
  3405. 1684(as)X
  3406. 1774(shown)X
  3407. 2006(in)X
  3408. 2090(the)X
  3409. 432 2324(Figure)N
  3410. 661(2.)X
  3411. 604 2438(The)N
  3412. 756(crucial)X
  3413. 1002(part)X
  3414. 1154(of)X
  3415. 1247(the)X
  3416. 1371(algorithm)X
  3417. 1708(is)X
  3418. 1787(the)X
  3419. 1911(observa-)X
  3420. 432 2526(tion)N
  3421. 580(that)X
  3422. 724(L1)X
  3423. 837(is)X
  3424. 914(addressed)X
  3425. 1255(twice)X
  3426. 1453(in)X
  3427. 1539(the)X
  3428. 1661(directory.)X
  3429. 1995(If)X
  3430. 2073(this)X
  3431. 432 2614(bucket)N
  3432. 679(were)X
  3433. 869(to)X
  3434. 964(split)X
  3435. 1134(now,)X
  3436. 1324(the)X
  3437. 1454(directory)X
  3438. 1776(already)X
  3439. 2045(con-)X
  3440. 432 2702(tains)N
  3441. 611(room)X
  3442. 808(to)X
  3443. 898(hold)X
  3444. 1067(the)X
  3445. 1192(address)X
  3446. 1460(of)X
  3447. 1554(the)X
  3448. 1679(new)X
  3449. 1840(bucket.)X
  3450. 2121(In)X
  3451. 432 2790(general,)N
  3452. 711(the)X
  3453. 831(relationship)X
  3454. 1231(between)X
  3455. 1521(the)X
  3456. 1641(directory)X
  3457. 1953(and)X
  3458. 2090(the)X
  3459. 432 2878(number)N
  3460. 704(of)X
  3461. 798(bucket)X
  3462. 1039(addresses)X
  3463. 1374(contained)X
  3464. 1713(therein)X
  3465. 1962(is)X
  3466. 2041(used)X
  3467. 432 2966(to)N
  3468. 517(decide)X
  3469. 750(when)X
  3470. 947(to)X
  3471. 1031(split)X
  3472. 1190(the)X
  3473. 1310(directory.)X
  3474. 1662(Each)X
  3475. 1845(bucket)X
  3476. 2081(has)X
  3477. 432 3054(a)N
  3478. 505(depth,)X
  3479. 740(()X
  3480. 2 f
  3481. 767(n)X
  3482. 7 s
  3483. 3070(b)Y
  3484. 10 s
  3485. 1 f
  3486. 848 3054(),)N
  3487. 932(associated)X
  3488. 1299(with)X
  3489. 1478(it)X
  3490. 1558(and)X
  3491. 1710(appears)X
  3492. 1992(in)X
  3493. 2090(the)X
  3494. 432 3142(directory)N
  3495. 744(exactly)X
  3496. 998(2)X
  3497. 2 f
  3498. 7 s
  3499. 3106(n)Y
  3500. 9 f
  3501. 1075(-)X
  3502. 2 f
  3503. 1106(n)X
  3504. 4 s
  3505. 3110(b)Y
  3506. 7 s
  3507. 1 f
  3508. 10 s
  3509. 1181 3142(times.)N
  3510. 1396(When)X
  3511. 1610(a)X
  3512. 1668(bucket)X
  3513. 1904(splits,)X
  3514. 2113(its)X
  3515. 432 3230(depth)N
  3516. 638(increases)X
  3517. 961(by)X
  3518. 1069(one.)X
  3519. 1253(The)X
  3520. 1406(directory)X
  3521. 1724(must)X
  3522. 1907(split)X
  3523. 2072(any)X
  3524. 432 3318(time)N
  3525. 602(a)X
  3526. 665(bucket's)X
  3527. 964(depth)X
  3528. 1169(exceeds)X
  3529. 1451(the)X
  3530. 1576(depth)X
  3531. 1781(of)X
  3532. 1875(the)X
  3533. 2000(direc-)X
  3534. 432 3406(tory.)N
  3535. 630(The)X
  3536. 784(following)X
  3537. 1123(code)X
  3538. 1303(fragment)X
  3539. 1621(helps)X
  3540. 1818(to)X
  3541. 1908(illustrate)X
  3542. 432 3494(the)N
  3543. 554(extendible)X
  3544. 912(hashing)X
  3545. 1185(algorithm)X
  3546. 1520([FAG79])X
  3547. 1838(for)X
  3548. 1955(access-)X
  3549. 432 3582(ing)N
  3550. 554(individual)X
  3551. 898(buckets)X
  3552. 1163(and)X
  3553. 1299(maintaining)X
  3554. 1701(the)X
  3555. 1819(directory.)X
  3556. 0 f
  3557. 8 s
  3558. 432 3881(hash)N
  3559. 622(=)X
  3560. 698 -0.4038(calchash(key);)AX
  3561. 432 3969(mask)N
  3562. 622(=)X
  3563. 698 -0.4018(maskvec[depth];)AX
  3564. 432 4145(bucket)N
  3565. 698(=)X
  3566. 774 -0.4038(directory[hash)AX
  3567. 1344(&)X
  3568. 1420(mask];)X
  3569. 432 4321(/*)N
  3570. 546(Key)X
  3571. 698 -0.4219(Insertion)AX
  3572. 1078(*/)X
  3573. 432 4409(if)N
  3574. 546 -0.4038((store(bucket,)AX
  3575. 1116(key,)X
  3576. 1306(data))X
  3577. 1534(==)X
  3578. 1648(FAIL))X
  3579. 1876({)X
  3580. 720 4497(newbl)N
  3581. 948(=)X
  3582. 1024 -0.4167(getpage();)AX
  3583. 720 4585 -0.4000(bucket->depth++;)AN
  3584. 720 4673 -0.4091(newbl->depth)AN
  3585. 1214(=)X
  3586. 1290 -0.4038(bucket->depth;)AX
  3587. 720 4761(if)N
  3588. 834 -0.4038((bucket->depth)AX
  3589. 1404(>)X
  3590. 1480(depth))X
  3591. 1746({)X
  3592. 1008 4849(/*)N
  3593. 1122(double)X
  3594. 1388 -0.4219(directory)AX
  3595. 1768(*/)X
  3596. 1008 4937(depth++;)N
  3597. 1 f
  3598. 16 s
  3599. 432 5033 MXY
  3600. 864 0 Dl
  3601. 2 f
  3602. 8 s
  3603. 472 5088(5)N
  3604. 1 f
  3605. 9 s
  3606. 534 5113(This)N
  3607. 692(decision)X
  3608. 962(to)X
  3609. 1048(split)X
  3610. 1202(the)X
  3611. 1319(directory)X
  3612. 1608(is)X
  3613. 1685(based)X
  3614. 1878(on)X
  3615. 1979(a)X
  3616. 2040(com-)X
  3617. 432 5193(parison)N
  3618. 666(of)X
  3619. 748(the)X
  3620. 858(depth)X
  3621. 1040(of)X
  3622. 1121(the)X
  3623. 1230(page)X
  3624. 1387(being)X
  3625. 1568(split)X
  3626. 1713(and)X
  3627. 1838(the)X
  3628. 1947(depth)X
  3629. 2128(of)X
  3630. 432 5273(the)N
  3631. 543(trie.)X
  3632. 698(In)X
  3633. 781(Figure)X
  3634. 992(2,)X
  3635. 1069(the)X
  3636. 1180(depths)X
  3637. 1390(of)X
  3638. 1472(both)X
  3639. 1622(L00)X
  3640. 1760(and)X
  3641. 1886(L01)X
  3642. 2024(are)X
  3643. 2134(2,)X
  3644. 432 5353(whereas)N
  3645. 689(the)X
  3646. 798(depth)X
  3647. 979(of)X
  3648. 1060(L1)X
  3649. 1161(is)X
  3650. 1230(1.)X
  3651. 1323(Therefore,)X
  3652. 1646(if)X
  3653. 1710(L1)X
  3654. 1810(were)X
  3655. 1970(to)X
  3656. 2046(split,)X
  3657. 432 5433(the)N
  3658. 543(directory)X
  3659. 826(would)X
  3660. 1029(not)X
  3661. 1144(need)X
  3662. 1303(to)X
  3663. 1382(split.)X
  3664. 1565(In)X
  3665. 1648(reality,)X
  3666. 1872(a)X
  3667. 1926(bucket)X
  3668. 2140(is)X
  3669. 432 5513(allocated)N
  3670. 727(for)X
  3671. 846(the)X
  3672. 969(directory)X
  3673. 1264(at)X
  3674. 1351(the)X
  3675. 1474(time)X
  3676. 1637(of)X
  3677. 1732(256le)X
  3678. 1858(creation)X
  3679. 2124(so)X
  3680. 432 5593(although)N
  3681. 707(the)X
  3682. 818(directory)X
  3683. 1100(splits)X
  3684. 1274(logically,)X
  3685. 1566(physical)X
  3686. 1828(splits)X
  3687. 2002(do)X
  3688. 2096(not)X
  3689. 432 5673(occur)N
  3690. 610(until)X
  3691. 760(the)X
  3692. 866(256le)X
  3693. 976(becomes)X
  3694. 1246(quite)X
  3695. 1408(large.)X
  3696. 0 f
  3697. 8 s
  3698. 2994 538 -0.4219(directory)AN
  3699. 3374(=)X
  3700. 3450 -0.3971(double(directory);)AX
  3701. 2706 626(})N
  3702. 2706 714 -0.3958(splitbucket(bucket,)AN
  3703. 3466(newbl))X
  3704. 2706 802(...)N
  3705. 2418 890(})N
  3706. 2 f
  3707. 10 s
  3708. 3169 1255(hsearch)N
  3709. 1 f
  3710. 2590 1387(Since)N
  3711. 2 f
  3712. 2807(hsearch)X
  3713. 1 f
  3714. 3100(does)X
  3715. 3286(not)X
  3716. 3427(have)X
  3717. 3617(to)X
  3718. 3717(translate)X
  3719. 4027(hash)X
  3720. 2418 1475(values)N
  3721. 2659(into)X
  3722. 2819(disk)X
  3723. 2988(addresses,)X
  3724. 3352(it)X
  3725. 3432(can)X
  3726. 3579(use)X
  3727. 3721(much)X
  3728. 3934(simpler)X
  3729. 2418 1563(algorithms)N
  3730. 2808(than)X
  3731. 2994(those)X
  3732. 3211(de256ned)X
  3733. 3495(above.)X
  3734. 3775(System)X
  3735. 4058(V's)X
  3736. 2 f
  3737. 2418 1651(hsearch)N
  3738. 1 f
  3739. 2708(constructs)X
  3740. 3069(a)X
  3741. 3141(256xed-size)X
  3742. 3489(hash)X
  3743. 3671(table)X
  3744. 3862((speci256ed)X
  3745. 2418 1739(by)N
  3746. 2519(the)X
  3747. 2637(user)X
  3748. 2791(at)X
  3749. 2869(table)X
  3750. 3045(creation).)X
  3751. 3391(By)X
  3752. 3504(default,)X
  3753. 3767(a)X
  3754. 3823(multiplica-)X
  3755. 2418 1827(tive)N
  3756. 2570(hash)X
  3757. 2748(function)X
  3758. 3046(based)X
  3759. 3260(on)X
  3760. 3371(that)X
  3761. 3522(described)X
  3762. 3861(in)X
  3763. 3954(Knuth,)X
  3764. 2418 1915(Volume)N
  3765. 2710(3,)X
  3766. 2804(section)X
  3767. 3065(6.4)X
  3768. 3199([KNU68])X
  3769. 3541(is)X
  3770. 3628(used)X
  3771. 3809(to)X
  3772. 3905(obtain)X
  3773. 4138(a)X
  3774. 2418 2003(primary)N
  3775. 2694(bucket)X
  3776. 2930(address.)X
  3777. 3233(If)X
  3778. 3309(this)X
  3779. 3446(bucket)X
  3780. 3681(is)X
  3781. 3755(full,)X
  3782. 3907(a)X
  3783. 3964(secon-)X
  3784. 2418 2091(dary)N
  3785. 2593(multiplicative)X
  3786. 3069(hash)X
  3787. 3248(value)X
  3788. 3454(is)X
  3789. 3538(computed)X
  3790. 3885(to)X
  3791. 3978(de256ne)X
  3792. 2418 2179(the)N
  3793. 2542(probe)X
  3794. 2751(interval.)X
  3795. 3062(The)X
  3796. 3213(probe)X
  3797. 3422(interval)X
  3798. 3693(is)X
  3799. 3772(added)X
  3800. 3989(to)X
  3801. 4076(the)X
  3802. 2418 2267(original)N
  3803. 2712(bucket)X
  3804. 2971(address)X
  3805. 3257((modulo)X
  3806. 3573(the)X
  3807. 3716(table)X
  3808. 3916(size))X
  3809. 4112(to)X
  3810. 2418 2355(obtain)N
  3811. 2658(a)X
  3812. 2734(new)X
  3813. 2908(bucket)X
  3814. 3162(address.)X
  3815. 3483(This)X
  3816. 3665(process)X
  3817. 3946(repeats)X
  3818. 2418 2443(until)N
  3819. 2588(an)X
  3820. 2688(empty)X
  3821. 2911(bucket)X
  3822. 3148(is)X
  3823. 3224(found.)X
  3824. 3474(If)X
  3825. 3551(no)X
  3826. 3654(bucket)X
  3827. 3891(is)X
  3828. 3967(found,)X
  3829. 2418 2531(an)N
  3830. 2514(insertion)X
  3831. 2814(fails)X
  3832. 2972(with)X
  3833. 3134(a)X
  3834. 3190(``table)X
  3835. 3420(full'')X
  3836. 3605(condition.)X
  3837. 2590 2645(The)N
  3838. 2768(basic)X
  3839. 2986(algorithm)X
  3840. 3350(may)X
  3841. 3541(be)X
  3842. 3670(modi256ed)X
  3843. 4006(by)X
  3844. 4138(a)X
  3845. 2418 2733(number)N
  3846. 2705(of)X
  3847. 2813(compile)X
  3848. 3112(time)X
  3849. 3295(options)X
  3850. 3571(available)X
  3851. 3902(to)X
  3852. 4005(those)X
  3853. 2418 2821(users)N
  3854. 2604(with)X
  3855. 2767(AT&T)X
  3856. 3006(source)X
  3857. 3237(code.)X
  3858. 3450(First,)X
  3859. 3637(the)X
  3860. 3756(package)X
  3861. 4040(pro-)X
  3862. 2418 2909(vides)N
  3863. 2638(two)X
  3864. 2809(options)X
  3865. 3094(for)X
  3866. 3238(hash)X
  3867. 3435(functions.)X
  3868. 3803(Users)X
  3869. 4036(may)X
  3870. 2418 2997(specify)N
  3871. 2690(their)X
  3872. 2877(own)X
  3873. 3055(hash)X
  3874. 3242(function)X
  3875. 3549(by)X
  3876. 3669(compiling)X
  3877. 4032(with)X
  3878. 2418 3085(``USCR'')N
  3879. 2757(de256ned)X
  3880. 3016(and)X
  3881. 3155(declaring)X
  3882. 3477(and)X
  3883. 3616(de256ning)X
  3884. 3901(the)X
  3885. 4022(vari-)X
  3886. 2418 3173(able)N
  3887. 2 f
  3888. 2578(hcompar)X
  3889. 1 f
  3890. 2863(,)X
  3891. 2909(a)X
  3892. 2971(function)X
  3893. 3263(taking)X
  3894. 3488(two)X
  3895. 3633(string)X
  3896. 3840(arguments)X
  3897. 2418 3261(and)N
  3898. 2560(returning)X
  3899. 2880(an)X
  3900. 2982(integer.)X
  3901. 3271(Users)X
  3902. 3480(may)X
  3903. 3643(also)X
  3904. 3797(request)X
  3905. 4054(that)X
  3906. 2418 3349(hash)N
  3907. 2587(values)X
  3908. 2814(be)X
  3909. 2912(computed)X
  3910. 3250(simply)X
  3911. 3489(by)X
  3912. 3590(taking)X
  3913. 3811(the)X
  3914. 3930(modulo)X
  3915. 2418 3437(of)N
  3916. 2521(key)X
  3917. 2673((using)X
  3918. 2909(division)X
  3919. 3201(rather)X
  3920. 3424(than)X
  3921. 3597(multiplication)X
  3922. 4080(for)X
  3923. 2418 3525(hash)N
  3924. 2589(value)X
  3925. 2787(calculation).)X
  3926. 3230(If)X
  3927. 3308(this)X
  3928. 3447(technique)X
  3929. 3783(is)X
  3930. 3859(used,)X
  3931. 4049(col-)X
  3932. 2418 3613(lisions)N
  3933. 2651(are)X
  3934. 2775(resolved)X
  3935. 3072(by)X
  3936. 3176(scanning)X
  3937. 3485(sequentially)X
  3938. 3896(from)X
  3939. 4076(the)X
  3940. 2418 3701(selected)N
  3941. 2702(bucket)X
  3942. 2941((linear)X
  3943. 3176(probing).)X
  3944. 3517(This)X
  3945. 3684(option)X
  3946. 3913(is)X
  3947. 3991(avail-)X
  3948. 2418 3789(able)N
  3949. 2572(by)X
  3950. 2672(de256ning)X
  3951. 2954(the)X
  3952. 3072(variable)X
  3953. 3351(``DIV'')X
  3954. 3622(at)X
  3955. 3700(compile)X
  3956. 3978(time.)X
  3957. 2590 3903(A)N
  3958. 2720(second)X
  3959. 3015(option,)X
  3960. 3311(based)X
  3961. 3565(on)X
  3962. 3716(an)X
  3963. 3863(algorithm)X
  3964. 2418 3991(discovered)N
  3965. 2787(by)X
  3966. 2888(Richard)X
  3967. 3163(P.)X
  3968. 3248(Brent,)X
  3969. 3466(rearranges)X
  3970. 3822(the)X
  3971. 3940(table)X
  3972. 4116(at)X
  3973. 2418 4079(the)N
  3974. 2549(time)X
  3975. 2724(of)X
  3976. 2824(insertion)X
  3977. 3137(in)X
  3978. 3232(order)X
  3979. 3434(to)X
  3980. 3528(speed)X
  3981. 3743(up)X
  3982. 3855(retrievals.)X
  3983. 2418 4167(The)N
  3984. 2571(basic)X
  3985. 2764(idea)X
  3986. 2926(is)X
  3987. 3007(to)X
  3988. 3097(shorten)X
  3989. 3361(long)X
  3990. 3531(probe)X
  3991. 3741(sequences)X
  3992. 4094(by)X
  3993. 2418 4255(lengthening)N
  3994. 2833(short)X
  3995. 3030(probe)X
  3996. 3249(sequences.)X
  3997. 3651(Once)X
  3998. 3857(the)X
  3999. 3991(probe)X
  4000. 2418 4343(chain)N
  4001. 2613(has)X
  4002. 2741(exceeded)X
  4003. 3062(some)X
  4004. 3252(threshold)X
  4005. 3571((Brent)X
  4006. 3796(suggests)X
  4007. 4087(2),)X
  4008. 2418 4431(we)N
  4009. 2541(attempt)X
  4010. 2809(to)X
  4011. 2899(shuf257e)X
  4012. 3145(any)X
  4013. 3289(colliding)X
  4014. 3601(keys)X
  4015. 3776((keys)X
  4016. 3978(which)X
  4017. 2418 4519(appeared)N
  4018. 2734(in)X
  4019. 2821(the)X
  4020. 2944(probe)X
  4021. 3152(sequence)X
  4022. 3471(of)X
  4023. 3562(the)X
  4024. 3684(new)X
  4025. 3842(key).)X
  4026. 4049(The)X
  4027. 2418 4607(details)N
  4028. 2652(of)X
  4029. 2744(this)X
  4030. 2884(key)X
  4031. 3025(shuf257ing)X
  4032. 3333(can)X
  4033. 3469(be)X
  4034. 3569(found)X
  4035. 3780(in)X
  4036. 3866([KNU68])X
  4037. 2418 4695(and)N
  4038. 2576([BRE73].)X
  4039. 2946(This)X
  4040. 3129(algorithm)X
  4041. 3481(may)X
  4042. 3660(be)X
  4043. 3777(obtained)X
  4044. 4094(by)X
  4045. 2418 4783(de256ning)N
  4046. 2700(the)X
  4047. 2818(variable)X
  4048. 3097(``BRENT'')X
  4049. 3487(at)X
  4050. 3565(compile)X
  4051. 3843(time.)X
  4052. 2590 4897(A)N
  4053. 2698(third)X
  4054. 2899(set)X
  4055. 3038(of)X
  4056. 3154(options,)X
  4057. 3458(obtained)X
  4058. 3783(by)X
  4059. 3912(de256ning)X
  4060. 2418 4985(``CHAINED'',)N
  4061. 2943(use)X
  4062. 3086(linked)X
  4063. 3321(lists)X
  4064. 3484(to)X
  4065. 3581(resolve)X
  4066. 3848(collisions.)X
  4067. 2418 5073(Either)N
  4068. 2647(of)X
  4069. 2747(the)X
  4070. 2878(primary)X
  4071. 3164(hash)X
  4072. 3343(function)X
  4073. 3642(described)X
  4074. 3982(above)X
  4075. 2418 5161(may)N
  4076. 2584(be)X
  4077. 2688(used,)X
  4078. 2882(but)X
  4079. 3011(all)X
  4080. 3118(collisions)X
  4081. 3451(are)X
  4082. 3577(resolved)X
  4083. 3876(by)X
  4084. 3983(build-)X
  4085. 2418 5249(ing)N
  4086. 2554(a)X
  4087. 2623(linked)X
  4088. 2856(list)X
  4089. 2986(of)X
  4090. 3086(entries)X
  4091. 3333(from)X
  4092. 3522(the)X
  4093. 3653(primary)X
  4094. 3940(bucket.)X
  4095. 2418 5337(By)N
  4096. 2542(default,)X
  4097. 2816(new)X
  4098. 2981(entries)X
  4099. 3226(will)X
  4100. 3381(be)X
  4101. 3488(added)X
  4102. 3711(to)X
  4103. 3804(a)X
  4104. 3871(bucket)X
  4105. 4116(at)X
  4106. 2418 5425(the)N
  4107. 2541(beginning)X
  4108. 2886(of)X
  4109. 2978(the)X
  4110. 3101(bucket)X
  4111. 3339(chain.)X
  4112. 3577(However,)X
  4113. 3916(compile)X
  4114. 2418 5513(options)N
  4115. 2706(``SORTUP'')X
  4116. 3173(or)X
  4117. 3293(``SORTDOWN'')X
  4118. 3908(may)X
  4119. 4098(be)X
  4120. 2418 5601(speci256ed)N
  4121. 2723(to)X
  4122. 2805(order)X
  4123. 2995(the)X
  4124. 3113(hash)X
  4125. 3280(chains)X
  4126. 3505(within)X
  4127. 3729(each)X
  4128. 3897(bucket.)X
  4129. 3 f
  4130. 432 5960(4)N
  4131. 2970(USENIX)X
  4132. 9 f
  4133. 3292(-)X
  4134. 3 f
  4135. 3356(Winter)X
  4136. 3621('91)X
  4137. 9 f
  4138. 3748(-)X
  4139. 3 f
  4140. 3812(Dallas,)X
  4141. 4065(TX)X
  4142. 5 p
  4143. %%Page: 5 5
  4144. 0(Courier)xf 0 f
  4145. 10 s 10 xH 0 xS 0 f
  4146. 3 f
  4147. 720 258(Seltzer)N
  4148. 977(&)X
  4149. 1064(Yigit)X
  4150. 3278(A)X
  4151. 3356(New)X
  4152. 3528(Hashing)X
  4153. 3831(Package)X
  4154. 4136(for)X
  4155. 4259(UNIX)X
  4156. 2 f
  4157. 1444 538(dynahash)N
  4158. 1 f
  4159. 892 670(The)N
  4160. 2 f
  4161. 1054(dynahash)X
  4162. 1 f
  4163. 1398(library,)X
  4164. 1669(written)X
  4165. 1932(by)X
  4166. 2048(Esmond)X
  4167. 2346(Pitt,)X
  4168. 720 758(implements)N
  4169. 1183(Larson's)X
  4170. 1554(linear)X
  4171. 1827(hashing)X
  4172. 2165(algorithm)X
  4173. 720 846([LAR88])N
  4174. 1097(with)X
  4175. 1302(an)X
  4176. 2 f
  4177. 1440(hsearch)X
  4178. 1 f
  4179. 1756(compatible)X
  4180. 2174(interface.)X
  4181. 720 934(Intuitively,)N
  4182. 1099(a)X
  4183. 1161(hash)X
  4184. 1334(table)X
  4185. 1516(begins)X
  4186. 1751(as)X
  4187. 1844(a)X
  4188. 1905(single)X
  4189. 2121(bucket)X
  4190. 2360(and)X
  4191. 720 1022(grows)N
  4192. 941(in)X
  4193. 1028(generations,)X
  4194. 1443(where)X
  4195. 1665(a)X
  4196. 1725(generation)X
  4197. 2088(corresponds)X
  4198. 720 1110(to)N
  4199. 815(a)X
  4200. 884(doubling)X
  4201. 1201(in)X
  4202. 1296(the)X
  4203. 1427(size)X
  4204. 1585(of)X
  4205. 1685(the)X
  4206. 1815(hash)X
  4207. 1994(table.)X
  4208. 2222(The)X
  4209. 2379(0)X
  4210. 2 f
  4211. 7 s
  4212. 1078(th)Y
  4213. 10 s
  4214. 1 f
  4215. 720 1198(generation)N
  4216. 1085(occurs)X
  4217. 1321(as)X
  4218. 1414(the)X
  4219. 1538(table)X
  4220. 1719(grows)X
  4221. 1940(from)X
  4222. 2121(one)X
  4223. 2262(bucket)X
  4224. 720 1286(to)N
  4225. 814(two.)X
  4226. 1006(In)X
  4227. 1105(the)X
  4228. 1235(next)X
  4229. 1405(generation)X
  4230. 1776(the)X
  4231. 1906(table)X
  4232. 2093(grows)X
  4233. 2320(from)X
  4234. 720 1374(two)N
  4235. 862(to)X
  4236. 946(four.)X
  4237. 1122(During)X
  4238. 1371(each)X
  4239. 1541(generation,)X
  4240. 1921(every)X
  4241. 2121(bucket)X
  4242. 2356(that)X
  4243. 720 1462(existed)N
  4244. 967(at)X
  4245. 1045(the)X
  4246. 1163(beginning)X
  4247. 1503(of)X
  4248. 1590(the)X
  4249. 1708(generation)X
  4250. 2067(is)X
  4251. 2140(split.)X
  4252. 892 1576(The)N
  4253. 1041(table)X
  4254. 1221(starts)X
  4255. 1414(as)X
  4256. 1505(a)X
  4257. 1565(single)X
  4258. 1780(bucket)X
  4259. 2018((numbered)X
  4260. 2389(0),)X
  4261. 720 1664(the)N
  4262. 839(current)X
  4263. 1088(split)X
  4264. 1245(bucket)X
  4265. 1479(is)X
  4266. 1552(set)X
  4267. 1661(to)X
  4268. 1743(bucket)X
  4269. 1977(0,)X
  4270. 2057(and)X
  4271. 2193(the)X
  4272. 2311(max-)X
  4273. 720 1752(imum)N
  4274. 933(split)X
  4275. 1097(point)X
  4276. 1288(is)X
  4277. 1368(set)X
  4278. 1483(to)X
  4279. 1571(twice)X
  4280. 1771(the)X
  4281. 1895(current)X
  4282. 2149(split)X
  4283. 2312(point)X
  4284. 720 1840((0).)N
  4285. 863(When)X
  4286. 1084(it)X
  4287. 1157(is)X
  4288. 1239(time)X
  4289. 1410(for)X
  4290. 1532(a)X
  4291. 1596(bucket)X
  4292. 1838(to)X
  4293. 1928(split,)X
  4294. 2113(the)X
  4295. 2239(keys)X
  4296. 2414(in)X
  4297. 720 1928(the)N
  4298. 872(current)X
  4299. 1154(split)X
  4300. 1345(bucket)X
  4301. 1612(are)X
  4302. 1764(divided)X
  4303. 2057(between)X
  4304. 2378(the)X
  4305. 720 2016(current)N
  4306. 981(split)X
  4307. 1151(bucket)X
  4308. 1397(and)X
  4309. 1545(a)X
  4310. 1613(new)X
  4311. 1779(bucket)X
  4312. 2025(whose)X
  4313. 2262(bucket)X
  4314. 720 2104(number)N
  4315. 1000(is)X
  4316. 1088(equal)X
  4317. 1297(to)X
  4318. 1394(1)X
  4319. 1469(+)X
  4320. 1549(current)X
  4321. 1812(split)X
  4322. 1984(bucket)X
  4323. 2232(+)X
  4324. 2311(max-)X
  4325. 720 2192(imum)N
  4326. 927(split)X
  4327. 1085(point.)X
  4328. 1310(We)X
  4329. 1442(can)X
  4330. 1574(determine)X
  4331. 1915(which)X
  4332. 2131(keys)X
  4333. 2298(move)X
  4334. 720 2280(to)N
  4335. 807(the)X
  4336. 929(new)X
  4337. 1087(bucket)X
  4338. 1325(by)X
  4339. 1429(examining)X
  4340. 1791(the)X
  4341. 2 f
  4342. 1913(n)X
  4343. 7 s
  4344. 1962 2248(th)N
  4345. 10 s
  4346. 1 f
  4347. 2043 2280(bit)N
  4348. 2151(of)X
  4349. 2242(a)X
  4350. 2302(key's)X
  4351. 720 2368(hash)N
  4352. 899(value)X
  4353. 1105(where)X
  4354. 1334(n)X
  4355. 1406(is)X
  4356. 1491(the)X
  4357. 1620(generation)X
  4358. 1990(number.)X
  4359. 2306(After)X
  4360. 720 2456(the)N
  4361. 846(bucket)X
  4362. 1088(at)X
  4363. 1174(the)X
  4364. 1300(maximum)X
  4365. 1651(split)X
  4366. 1815(point)X
  4367. 2006(has)X
  4368. 2140(been)X
  4369. 2319(split,)X
  4370. 720 2544(the)N
  4371. 839(generation)X
  4372. 1198(number)X
  4373. 1463(is)X
  4374. 1536(incremented,)X
  4375. 1973(the)X
  4376. 2091(current)X
  4377. 2339(split)X
  4378. 720 2632(point)N
  4379. 908(is)X
  4380. 985(set)X
  4381. 1098(back)X
  4382. 1274(to)X
  4383. 1360(zero,)X
  4384. 1543(and)X
  4385. 1683(the)X
  4386. 1805(maximum)X
  4387. 2152(split)X
  4388. 2312(point)X
  4389. 720 2720(is)N
  4390. 815(set)X
  4391. 946(to)X
  4392. 1050(the)X
  4393. 1190(number)X
  4394. 1477(of)X
  4395. 1586(the)X
  4396. 1725(last)X
  4397. 1877(bucket)X
  4398. 2132(in)X
  4399. 2235(the)X
  4400. 2374(256le)X
  4401. 720 2808((which)N
  4402. 971(is)X
  4403. 1052(equal)X
  4404. 1253(to)X
  4405. 1342(twice)X
  4406. 1543(the)X
  4407. 1668(old)X
  4408. 1797(maximum)X
  4409. 2148(split)X
  4410. 2312(point)X
  4411. 720 2896(plus)N
  4412. 873(1).)X
  4413. 892 3010(To)N
  4414. 1031(facilitate)X
  4415. 1361(locating)X
  4416. 1668(keys,)X
  4417. 1884(we)X
  4418. 2027(maintain)X
  4419. 2356(two)X
  4420. 720 3098(masks.)N
  4421. 989(The)X
  4422. 1143(low)X
  4423. 1291(mask)X
  4424. 1488(is)X
  4425. 1569(equal)X
  4426. 1771(to)X
  4427. 1861(the)X
  4428. 1987(maximum)X
  4429. 2339(split)X
  4430. 720 3186(bucket)N
  4431. 967(and)X
  4432. 1116(the)X
  4433. 1247(high)X
  4434. 1422(mask)X
  4435. 1624(is)X
  4436. 1710(equal)X
  4437. 1917(to)X
  4438. 2011(the)X
  4439. 2141(next)X
  4440. 2311(max-)X
  4441. 720 3274(imum)N
  4442. 931(split)X
  4443. 1093(bucket.)X
  4444. 1372(To)X
  4445. 1486(locate)X
  4446. 1703(a)X
  4447. 1764(speci256c)X
  4448. 2033(key,)X
  4449. 2193(we)X
  4450. 2311(com-)X
  4451. 720 3362(pute)N
  4452. 881(a)X
  4453. 940(32-bit)X
  4454. 1154(hash)X
  4455. 1324(value)X
  4456. 1520(using)X
  4457. 1715(a)X
  4458. 1773(bit-randomizing)X
  4459. 2311(algo-)X
  4460. 720 3450(rithm)N
  4461. 932(such)X
  4462. 1118(as)X
  4463. 1224(the)X
  4464. 1361(one)X
  4465. 1516(described)X
  4466. 1862(in)X
  4467. 1962([LAR88].)X
  4468. 2334(This)X
  4469. 720 3538(hash)N
  4470. 893(value)X
  4471. 1093(is)X
  4472. 1172(then)X
  4473. 1336(masked)X
  4474. 1607(with)X
  4475. 1775(the)X
  4476. 1898(high)X
  4477. 2065(mask.)X
  4478. 2299(If)X
  4479. 2378(the)X
  4480. 720 3626(resulting)N
  4481. 1026(number)X
  4482. 1297(is)X
  4483. 1376(greater)X
  4484. 1626(than)X
  4485. 1790(the)X
  4486. 1913(maximum)X
  4487. 2262(bucket)X
  4488. 720 3714(in)N
  4489. 823(the)X
  4490. 962(table)X
  4491. 1159((current)X
  4492. 1455(split)X
  4493. 1633(bucket)X
  4494. 1888(+)X
  4495. 1974(maximum)X
  4496. 2339(split)X
  4497. 720 3802(point),)N
  4498. 962(the)X
  4499. 1091(hash)X
  4500. 1269(value)X
  4501. 1474(is)X
  4502. 1558(masked)X
  4503. 1834(with)X
  4504. 2007(the)X
  4505. 2136(low)X
  4506. 2287(mask.)X
  4507. 720 3890(In)N
  4508. 825(either)X
  4509. 1046(case,)X
  4510. 1242(the)X
  4511. 1377(result)X
  4512. 1592(of)X
  4513. 1696(the)X
  4514. 1831(mask)X
  4515. 2037(is)X
  4516. 2127(the)X
  4517. 2262(bucket)X
  4518. 720 3978(number)N
  4519. 989(for)X
  4520. 1107(the)X
  4521. 1229(given)X
  4522. 1431(key.)X
  4523. 1611(The)X
  4524. 1759(algorithm)X
  4525. 2093(below)X
  4526. 2312(illus-)X
  4527. 720 4066(trates)N
  4528. 914(this)X
  4529. 1049(process.)X
  4530. 0 f
  4531. 8 s
  4532. 720 4365(h)N
  4533. 796(=)X
  4534. 872 -0.4038(calchash(key);)AX
  4535. 720 4453(bucket)N
  4536. 986(=)X
  4537. 1062(h)X
  4538. 1138(&)X
  4539. 1214 -0.4167(high_mask;)AX
  4540. 720 4541(if)N
  4541. 834(()X
  4542. 910(bucket)X
  4543. 1176(>)X
  4544. 1252 -0.4167(max_bucket)AX
  4545. 1670())X
  4546. 1008 4629(bucket)N
  4547. 1274(=)X
  4548. 1350(h)X
  4549. 1426(&)X
  4550. 1502 -0.4219(low_mask;)AX
  4551. 720 4717 -0.4018(return(bucket);)AN
  4552. 1 f
  4553. 10 s
  4554. 892 5042(In)N
  4555. 1013(order)X
  4556. 1237(to)X
  4557. 1353(decide)X
  4558. 1617(when)X
  4559. 1845(to)X
  4560. 1961(split)X
  4561. 2152(a)X
  4562. 2242(bucket,)X
  4563. 2 f
  4564. 720 5130(dynahash)N
  4565. 1 f
  4566. 1050(uses)X
  4567. 2 f
  4568. 1210(controlled)X
  4569. 1561(splitting)X
  4570. 1 f
  4571. 1822(.)X
  4572. 1884(A)X
  4573. 1964(hash)X
  4574. 2133(table)X
  4575. 2311(has)X
  4576. 2440(a)X
  4577. 720 5218(256ll)N
  4578. 837(factor)X
  4579. 1054(which)X
  4580. 1279(is)X
  4581. 1361(expressed)X
  4582. 1707(in)X
  4583. 1798(terms)X
  4584. 2004(of)X
  4585. 2099(the)X
  4586. 2225(average)X
  4587. 720 5306(number)N
  4588. 990(of)X
  4589. 1082(keys)X
  4590. 1253(in)X
  4591. 1339(each)X
  4592. 1511(bucket.)X
  4593. 1789(Each)X
  4594. 1974(time)X
  4595. 2140(the)X
  4596. 2262(table's)X
  4597. 720 5394(total)N
  4598. 885(number)X
  4599. 1153(of)X
  4600. 1243(keys)X
  4601. 1413(divided)X
  4602. 1676(by)X
  4603. 1778(its)X
  4604. 1875(number)X
  4605. 2142(of)X
  4606. 2231(buckets)X
  4607. 720 5482(exceeds)N
  4608. 995(this)X
  4609. 1130(256ll)X
  4610. 1238(factor,)X
  4611. 1466(a)X
  4612. 1522(bucket)X
  4613. 1756(is)X
  4614. 1829(split.)X
  4615. 2878 538(Since)N
  4616. 3079(the)X
  4617. 2 f
  4618. 3200(hsearch)X
  4619. 1 f
  4620. 3477(create)X
  4621. 3693(interface)X
  4622. 3998(()X
  4623. 2 f
  4624. 4025(hcreate)X
  4625. 1 f
  4626. 4266())X
  4627. 4315(calls)X
  4628. 2706 626(for)N
  4629. 2842(an)X
  4630. 2960(estimate)X
  4631. 3269(of)X
  4632. 3378(the)X
  4633. 3518(256nal)X
  4634. 3702(size)X
  4635. 3869(of)X
  4636. 3978(the)X
  4637. 4118(hash)X
  4638. 4306(table)X
  4639. 2706 714(()N
  4640. 2 f
  4641. 2733(nelem)X
  4642. 1 f
  4643. 2925(),)X
  4644. 2 f
  4645. 3007(dynahash)X
  4646. 1 f
  4647. 3349(uses)X
  4648. 3522(this)X
  4649. 3672(information)X
  4650. 4085(to)X
  4651. 4182(initialize)X
  4652. 2706 802(the)N
  4653. 2848(table.)X
  4654. 3088(The)X
  4655. 3257(initial)X
  4656. 3486(number)X
  4657. 3774(of)X
  4658. 3884(buckets)X
  4659. 4172(is)X
  4660. 4268(set)X
  4661. 4400(to)X
  4662. 2 f
  4663. 2706 890(nelem)N
  4664. 1 f
  4665. 2926(rounded)X
  4666. 3217(to)X
  4667. 3306(the)X
  4668. 3431(next)X
  4669. 3596(higher)X
  4670. 3828(power)X
  4671. 4056(of)X
  4672. 4150(two.)X
  4673. 4337(The)X
  4674. 2706 978(current)N
  4675. 2958(split)X
  4676. 3118(point)X
  4677. 3305(is)X
  4678. 3381(set)X
  4679. 3493(to)X
  4680. 3578(0)X
  4681. 3641(and)X
  4682. 3780(the)X
  4683. 3901(maximum)X
  4684. 4248(bucket)X
  4685. 2706 1066(and)N
  4686. 2842(maximum)X
  4687. 3186(split)X
  4688. 3343(point)X
  4689. 3527(are)X
  4690. 3646(set)X
  4691. 3755(to)X
  4692. 3837(this)X
  4693. 3972(rounded)X
  4694. 4255(value.)X
  4695. 3 f
  4696. 3148 1220(The)N
  4697. 3301(New)X
  4698. 3473(Implementation)X
  4699. 1 f
  4700. 2878 1352(Our)N
  4701. 3042(implementation)X
  4702. 3583(is)X
  4703. 3675(also)X
  4704. 3842(based)X
  4705. 4063(on)X
  4706. 4181(Larson's)X
  4707. 2706 1440(linear)N
  4708. 2939(hashing)X
  4709. 3238([LAR88])X
  4710. 3582(algorithm)X
  4711. 3943(as)X
  4712. 4060(well)X
  4713. 4248(as)X
  4714. 4364(the)X
  4715. 2 f
  4716. 2706 1528(dynahash)N
  4717. 1 f
  4718. 3047(implementation.)X
  4719. 3623(The)X
  4720. 2 f
  4721. 3782(dbm)X
  4722. 1 f
  4723. 3954(family)X
  4724. 4197(of)X
  4725. 4297(algo-)X
  4726. 2706 1616(rithms)N
  4727. 2942(decide)X
  4728. 3184(dynamically)X
  4729. 3612(which)X
  4730. 3840(bucket)X
  4731. 4085(to)X
  4732. 4178(split)X
  4733. 4346(and)X
  4734. 2706 1704(when)N
  4735. 2914(to)X
  4736. 3010(split)X
  4737. 3180(it)X
  4738. 3257((when)X
  4739. 3491(it)X
  4740. 3568(over257ows))X
  4741. 3944(while)X
  4742. 2 f
  4743. 4155(dynahash)X
  4744. 1 f
  4745. 2706 1792(splits)N
  4746. 2933(in)X
  4747. 3054(a)X
  4748. 3149(prede256ned)X
  4749. 3547(order)X
  4750. 3776((linearly))X
  4751. 4134(and)X
  4752. 4309(at)X
  4753. 4426(a)X
  4754. 2706 1880(prede256ned)N
  4755. 3116(time)X
  4756. 3328((when)X
  4757. 3599(the)X
  4758. 3767(table)X
  4759. 3993(256ll)X
  4760. 4151(factor)X
  4761. 4409(is)X
  4762. 2706 1968(exceeded).)N
  4763. 3121(We)X
  4764. 3280(use)X
  4765. 3434(a)X
  4766. 3517(hybrid)X
  4767. 3773(of)X
  4768. 3887(these)X
  4769. 4099(techniques.)X
  4770. 2706 2056(Splits)N
  4771. 2913(occur)X
  4772. 3118(in)X
  4773. 3206(the)X
  4774. 3330(prede256ned)X
  4775. 3695(order)X
  4776. 3891(of)X
  4777. 3984(linear)X
  4778. 4193(hashing,)X
  4779. 2706 2144(but)N
  4780. 2845(the)X
  4781. 2980(time)X
  4782. 3159(at)X
  4783. 3253(which)X
  4784. 3485(pages)X
  4785. 3704(are)X
  4786. 3839(split)X
  4787. 4012(is)X
  4788. 4101(determined)X
  4789. 2706 2232(both)N
  4790. 2869(by)X
  4791. 2970(page)X
  4792. 3143(over257ows)X
  4793. 3480(()X
  4794. 2 f
  4795. 3507(uncontrolled)X
  4796. 3937(splitting)X
  4797. 1 f
  4798. 4198())X
  4799. 4246(and)X
  4800. 4382(by)X
  4801. 2706 2320(exceeding)N
  4802. 3052(the)X
  4803. 3170(256ll)X
  4804. 3278(factor)X
  4805. 3486(()X
  4806. 2 f
  4807. 3513(controlled)X
  4808. 3862(splitting)X
  4809. 1 f
  4810. 4123())X
  4811. 2878 2434(A)N
  4812. 2962(hash)X
  4813. 3135(table)X
  4814. 3317(is)X
  4815. 3395(parameterized)X
  4816. 3876(by)X
  4817. 3981(both)X
  4818. 4148(its)X
  4819. 4248(bucket)X
  4820. 2706 2522(size)N
  4821. 2904(()X
  4822. 2 f
  4823. 2931(bsize)X
  4824. 1 f
  4825. ())S
  4826. 3191(and)X
  4827. 3380(256ll)X
  4828. 3541(factor)X
  4829. 3801(()X
  4830. 2 f
  4831. 3828(ffactor)X
  4832. 1 f
  4833. 4041().)X
  4834. 4180(Whereas)X
  4835. 2 f
  4836. 2706 2610(dynahash's)N
  4837. 1 f
  4838. 3095(buckets)X
  4839. 3364(can)X
  4840. 3500(be)X
  4841. 3599(represented)X
  4842. 3993(as)X
  4843. 4083(a)X
  4844. 4142(linked)X
  4845. 4365(list)X
  4846. 2706 2698(of)N
  4847. 2798(elements)X
  4848. 3108(in)X
  4849. 3195(memory,)X
  4850. 3507(our)X
  4851. 3639(package)X
  4852. 3928(needs)X
  4853. 4136(to)X
  4854. 4222(support)X
  4855. 2706 2786(disk)N
  4856. 2874(access,)X
  4857. 3135(and)X
  4858. 3286(must)X
  4859. 3476(represent)X
  4860. 3806(buckets)X
  4861. 4086(in)X
  4862. 4183(terms)X
  4863. 4395(of)X
  4864. 2706 2874(pages.)N
  4865. 2955(The)X
  4866. 2 f
  4867. 3106(bsize)X
  4868. 1 f
  4869. 3291(is)X
  4870. 3369(the)X
  4871. 3492(size)X
  4872. 3642((in)X
  4873. 3756(bytes))X
  4874. 3977(of)X
  4875. 4069(these)X
  4876. 4259(pages.)X
  4877. 2706 2962(As)N
  4878. 2833(in)X
  4879. 2933(linear)X
  4880. 3154(hashing,)X
  4881. 3461(the)X
  4882. 3597(number)X
  4883. 3879(of)X
  4884. 3983(buckets)X
  4885. 4265(in)X
  4886. 4364(the)X
  4887. 2706 3050(table)N
  4888. 2906(is)X
  4889. 3003(equal)X
  4890. 3221(to)X
  4891. 3327(the)X
  4892. 3469(number)X
  4893. 3758(of)X
  4894. 3869(keys)X
  4895. 4060(in)X
  4896. 4165(the)X
  4897. 4306(table)X
  4898. 2706 3138(divided)N
  4899. 2988(by)X
  4900. 2 f
  4901. 3110(ffactor)X
  4902. 1 f
  4903. 3323(.)X
  4904. 2 f
  4905. 8 s
  4906. 3113(6)Y
  4907. 1 f
  4908. 10 s
  4909. 3417 3138(The)N
  4910. 3584(controlled)X
  4911. 3950(splitting)X
  4912. 4252(occurs)X
  4913. 2706 3226(each)N
  4914. 2878(time)X
  4915. 3044(the)X
  4916. 3166(number)X
  4917. 3435(of)X
  4918. 3526(keys)X
  4919. 3697(in)X
  4920. 3783(the)X
  4921. 3905(table)X
  4922. 4085(exceeds)X
  4923. 4364(the)X
  4924. 2706 3314(256ll)N
  4925. 2814(factor)X
  4926. 3022(multiplied)X
  4927. 3370(by)X
  4928. 3470(the)X
  4929. 3588(number)X
  4930. 3853(of)X
  4931. 3940(buckets.)X
  4932. 2878 3428(Inserting)N
  4933. 3187(keys)X
  4934. 3358(and)X
  4935. 3498(splitting)X
  4936. 3783(buckets)X
  4937. 4051(is)X
  4938. 4127(performed)X
  4939. 2706 3516(precisely)N
  4940. 3018(as)X
  4941. 3107(described)X
  4942. 3437(previously)X
  4943. 3796(for)X
  4944. 2 f
  4945. 3911(dynahash)X
  4946. 1 f
  4947. 4218(.)X
  4948. 4279(How-)X
  4949. 2706 3604(ever,)N
  4950. 2897(since)X
  4951. 3094(buckets)X
  4952. 3371(are)X
  4953. 3502(now)X
  4954. 3671(comprised)X
  4955. 4036(of)X
  4956. 4134(pages,)X
  4957. 4368(we)X
  4958. 2706 3692(must)N
  4959. 2883(be)X
  4960. 2981(prepared)X
  4961. 3284(to)X
  4962. 3367(handle)X
  4963. 3602(cases)X
  4964. 3793(where)X
  4965. 4011(the)X
  4966. 4130(size)X
  4967. 4276(of)X
  4968. 4364(the)X
  4969. 2706 3780(keys)N
  4970. 2873(and)X
  4971. 3009(data)X
  4972. 3163(in)X
  4973. 3245(a)X
  4974. 3301(bucket)X
  4975. 3535(exceed)X
  4976. 3779(the)X
  4977. 3897(bucket)X
  4978. 4131(size.)X
  4979. 3 f
  4980. 3318 3934(Over257ow)N
  4981. 3654(Pages)X
  4982. 1 f
  4983. 2878 4066(There)N
  4984. 3095(are)X
  4985. 3223(two)X
  4986. 3372(cases)X
  4987. 3571(where)X
  4988. 3797(a)X
  4989. 3862(key)X
  4990. 4007(may)X
  4991. 4174(not)X
  4992. 4305(256t)X
  4993. 4400(in)X
  4994. 2706 4154(its)N
  4995. 2802(designated)X
  4996. 3166(bucket.)X
  4997. 3441(In)X
  4998. 3529(the)X
  4999. 3647(256rst)X
  5000. 3791(case,)X
  5001. 3970(the)X
  5002. 4088(total)X
  5003. 4250(size)X
  5004. 4395(of)X
  5005. 2706 4242(the)N
  5006. 2833(key)X
  5007. 2978(and)X
  5008. 3123(data)X
  5009. 3286(may)X
  5010. 3453(exceed)X
  5011. 3706(the)X
  5012. 3833(bucket)X
  5013. 4076(size.)X
  5014. 4269(In)X
  5015. 4364(the)X
  5016. 2706 4330(second,)N
  5017. 3008(addition)X
  5018. 3328(of)X
  5019. 3453(a)X
  5020. 3547(new)X
  5021. 3739(key)X
  5022. 3913(could)X
  5023. 4149(cause)X
  5024. 4386(an)X
  5025. 2706 4418(over257ow,)N
  5026. 3068(but)X
  5027. 3227(the)X
  5028. 3382(bucket)X
  5029. 3652(in)X
  5030. 3770(question)X
  5031. 4097(is)X
  5032. 4206(not)X
  5033. 4364(yet)X
  5034. 2706 4506(scheduled)N
  5035. 3049(to)X
  5036. 3133(be)X
  5037. 3230(split.)X
  5038. 3428(In)X
  5039. 3516(existing)X
  5040. 3790(implementations,)X
  5041. 4364(the)X
  5042. 2706 4594(second)N
  5043. 2953(case)X
  5044. 3115(never)X
  5045. 3317(arises)X
  5046. 3523((since)X
  5047. 3738(buckets)X
  5048. 4006(are)X
  5049. 4128(split)X
  5050. 4288(when)X
  5051. 2706 4682(they)N
  5052. 2871(over257ow))X
  5053. 3210(and)X
  5054. 3352(the)X
  5055. 3476(256rst)X
  5056. 3626(case)X
  5057. 3791(is)X
  5058. 3870(not)X
  5059. 3998(handled)X
  5060. 4278(at)X
  5061. 4362(all.)X
  5062. 2706 4770(Although)N
  5063. 3036(large)X
  5064. 3225(key/data)X
  5065. 3525(pair)X
  5066. 3678(handling)X
  5067. 3986(is)X
  5068. 4066(dif256cult)X
  5069. 4346(and)X
  5070. 2706 4858(expensive,)N
  5071. 3083(it)X
  5072. 3163(is)X
  5073. 3252(essential.)X
  5074. 3604(In)X
  5075. 3706(a)X
  5076. 3777(linear)X
  5077. 3995(hashed)X
  5078. 4253(imple-)X
  5079. 2706 4946(mentation,)N
  5080. 3087(over257ow)X
  5081. 3413(pages)X
  5082. 3636(are)X
  5083. 3775(required)X
  5084. 4083(for)X
  5085. 4217(buckets)X
  5086. 2706 5034(which)N
  5087. 2935(over257ow)X
  5088. 3253(before)X
  5089. 3492(they)X
  5090. 3662(are)X
  5091. 3793(split,)X
  5092. 3982(so)X
  5093. 4085(we)X
  5094. 4211(can)X
  5095. 4355(use)X
  5096. 2706 5122(the)N
  5097. 2833(same)X
  5098. 3027(mechanism)X
  5099. 3421(for)X
  5100. 3544(large)X
  5101. 3734(key/data)X
  5102. 4035(pairs)X
  5103. 4220(that)X
  5104. 4368(we)X
  5105. 2706 5210(use)N
  5106. 2837(for)X
  5107. 2955(over257ow)X
  5108. 3264(pages.)X
  5109. 3511(Logically,)X
  5110. 3862(we)X
  5111. 3980(chain)X
  5112. 4177(over257ow)X
  5113. 16 s
  5114. 2706 5353 MXY
  5115. 864 0 Dl
  5116. 2 f
  5117. 8 s
  5118. 2746 5408(6)N
  5119. 1 f
  5120. 9 s
  5121. 2801 5433(This)N
  5122. 2952(is)X
  5123. 3023(not)X
  5124. 3138(strictly)X
  5125. 3361(true.)X
  5126. 3532(The)X
  5127. 3667(256le)X
  5128. 3782(does)X
  5129. 3937(not)X
  5130. 4052(contract)X
  5131. 4306(when)X
  5132. 2706 5513(keys)N
  5133. 2861(are)X
  5134. 2972(deleted,)X
  5135. 3221(so)X
  5136. 3308(the)X
  5137. 3419(number)X
  5138. 3662(of)X
  5139. 3744(buckets)X
  5140. 3986(is)X
  5141. 4056(actually)X
  5142. 4306(equal)X
  5143. 2706 5593(to)N
  5144. 2782(the)X
  5145. 2890(maximum)X
  5146. 3202(number)X
  5147. 3441(of)X
  5148. 3520(keys)X
  5149. 3671(ever)X
  5150. 3814(present)X
  5151. 4041(in)X
  5152. 4116(the)X
  5153. 4223(table)X
  5154. 4382(di-)X
  5155. 2706 5673(vided)N
  5156. 2884(by)X
  5157. 2974(the)X
  5158. 3080(256ll)X
  5159. 3178(factor.)X
  5160. 3 f
  5161. 10 s
  5162. 720 5960(USENIX)N
  5163. 9 f
  5164. 1042(-)X
  5165. 3 f
  5166. 1106(Winter)X
  5167. 1371('91)X
  5168. 9 f
  5169. 1498(-)X
  5170. 3 f
  5171. 1562(Dallas,)X
  5172. 1815(TX)X
  5173. 4424(5)X
  5174. 6 p
  5175. %%Page: 6 6
  5176. 0(Courier)xf 0 f
  5177. 10 s 10 xH 0 xS 0 f
  5178. 3 f
  5179. 432 258(A)N
  5180. 510(New)X
  5181. 682(Hashing)X
  5182. 985(Package)X
  5183. 1290(for)X
  5184. 1413(UNIX)X
  5185. 3663(Seltzer)X
  5186. 3920(&)X
  5187. 4007(Yigit)X
  5188. 1 f
  5189. 432 538(pages)N
  5190. 639(to)X
  5191. 725(the)X
  5192. 847(buckets)X
  5193. 1116((also)X
  5194. 1296(called)X
  5195. 1512(primary)X
  5196. 1789(pages).)X
  5197. 2062(In)X
  5198. 2152(a)X
  5199. 432 626(memory)N
  5200. 730(based)X
  5201. 943(representation,)X
  5202. 1448(over257ow)X
  5203. 1763(pages)X
  5204. 1976(do)X
  5205. 2086(not)X
  5206. 432 714(pose)N
  5207. 628(any)X
  5208. 792(special)X
  5209. 1063(problems)X
  5210. 1409(because)X
  5211. 1712(we)X
  5212. 1854(can)X
  5213. 2014(chain)X
  5214. 432 802(over257ow)N
  5215. 776(pages)X
  5216. 1017(to)X
  5217. 1137(primary)X
  5218. 1449(pages)X
  5219. 1690(using)X
  5220. 1921(memory)X
  5221. 432 890(pointers.)N
  5222. 776(However,)X
  5223. 1137(mapping)X
  5224. 1463(these)X
  5225. 1674(over257ow)X
  5226. 2005(pages)X
  5227. 432 978(into)N
  5228. 584(a)X
  5229. 648(disk)X
  5230. 809(256le)X
  5231. 939(is)X
  5232. 1019(more)X
  5233. 1211(of)X
  5234. 1305(a)X
  5235. 1368(challenge,)X
  5236. 1723(since)X
  5237. 1915(we)X
  5238. 2036(need)X
  5239. 432 1066(to)N
  5240. 547(be)X
  5241. 675(able)X
  5242. 861(to)X
  5243. 975(address)X
  5244. 1268(both)X
  5245. 1462(bucket)X
  5246. 1728(pages,)X
  5247. 1983(whose)X
  5248. 432 1154(numbers)N
  5249. 729(are)X
  5250. 849(growing)X
  5251. 1137(linearly,)X
  5252. 1422(and)X
  5253. 1558(some)X
  5254. 1747(indeterminate)X
  5255. 432 1242(number)N
  5256. 715(of)X
  5257. 820(over257ow)X
  5258. 1143(pages)X
  5259. 1364(without)X
  5260. 1646(reorganizing)X
  5261. 2090(the)X
  5262. 432 1330(256le.)N
  5263. 604 1444(One)N
  5264. 789(simple)X
  5265. 1053(solution)X
  5266. 1361(would)X
  5267. 1612(be)X
  5268. 1739(to)X
  5269. 1852(allocate)X
  5270. 2152(a)X
  5271. 432 1532(separate)N
  5272. 737(256le)X
  5273. 880(for)X
  5274. 1015(over257ow)X
  5275. 1341(pages.)X
  5276. 1604(The)X
  5277. 1769(disadvantage)X
  5278. 432 1620(with)N
  5279. 605(such)X
  5280. 783(a)X
  5281. 850(technique)X
  5282. 1193(is)X
  5283. 1276(that)X
  5284. 1426(it)X
  5285. 1500(requires)X
  5286. 1789(an)X
  5287. 1895(extra)X
  5288. 2086(256le)X
  5289. 432 1708(descriptor,)N
  5290. 794(an)X
  5291. 891(extra)X
  5292. 1073(system)X
  5293. 1316(call)X
  5294. 1453(on)X
  5295. 1554(open)X
  5296. 1731(and)X
  5297. 1867(close,)X
  5298. 2072(and)X
  5299. 432 1796(logically)N
  5300. 739(associating)X
  5301. 1122(two)X
  5302. 1269(independent)X
  5303. 1687(256les.)X
  5304. 1886(For)X
  5305. 2023(these)X
  5306. 432 1884(reasons,)N
  5307. 728(we)X
  5308. 857(wanted)X
  5309. 1123(to)X
  5310. 1219(map)X
  5311. 1391(both)X
  5312. 1567(primary)X
  5313. 1855(pages)X
  5314. 2072(and)X
  5315. 432 1972(over257ow)N
  5316. 737(pages)X
  5317. 940(into)X
  5318. 1084(the)X
  5319. 1202(same)X
  5320. 1387(256le)X
  5321. 1509(space.)X
  5322. 604 2086(The)N
  5323. 799(buddy-in-waiting)X
  5324. 1425(algorithm)X
  5325. 1806(provides)X
  5326. 2152(a)X
  5327. 432 2174(mechanism)N
  5328. 851(to)X
  5329. 966(support)X
  5330. 1259(multiple)X
  5331. 1578(pages)X
  5332. 1814(per)X
  5333. 1970(logical)X
  5334. 432 2262(bucket)N
  5335. 685(while)X
  5336. 902(retaining)X
  5337. 1226(the)X
  5338. 1362(simple)X
  5339. 1613(split)X
  5340. 1788(sequence)X
  5341. 2121(of)X
  5342. 432 2350(linear)N
  5343. 681(hashing.)X
  5344. 1015(Over257ow)X
  5345. 1383(pages)X
  5346. 1631(are)X
  5347. 1795(preallocated)X
  5348. 432 2438(between)N
  5349. 781(generations)X
  5350. 1232(of)X
  5351. 1379(primary)X
  5352. 1713(pages.)X
  5353. 1996(These)X
  5354. 432 2526(over257ow)N
  5355. 759(pages)X
  5356. 984(are)X
  5357. 1125(used)X
  5358. 1314(by)X
  5359. 1436(any)X
  5360. 1594(bucket)X
  5361. 1850(containing)X
  5362. 432 2614(more)N
  5363. 646(keys)X
  5364. 842(than)X
  5365. 1029(256t)X
  5366. 1144(on)X
  5367. 1273(the)X
  5368. 1420(primary)X
  5369. 1723(page)X
  5370. 1924(and)X
  5371. 2089(are)X
  5372. 432 2702(reclaimed,)N
  5373. 808(if)X
  5374. 896(possible,)X
  5375. 1217(when)X
  5376. 1430(the)X
  5377. 1567(bucket)X
  5378. 1819(later)X
  5379. 2000(splits.)X
  5380. 432 2790(Figure)N
  5381. 687(3)X
  5382. 773(depicts)X
  5383. 1045(the)X
  5384. 1188(layout)X
  5385. 1433(of)X
  5386. 1545(primary)X
  5387. 1844(pages)X
  5388. 2072(and)X
  5389. 432 2878(over257ow)N
  5390. 752(pages)X
  5391. 970(within)X
  5392. 1209(the)X
  5393. 1342(same)X
  5394. 1542(256le.)X
  5395. 1699(Over257ow)X
  5396. 2036(page)X
  5397. 432 2966(use)N
  5398. 586(information)X
  5399. 1011(is)X
  5400. 1111(recorded)X
  5401. 1440(in)X
  5402. 1548(bitmaps)X
  5403. 1847(which)X
  5404. 2089(are)X
  5405. 432 3054(themselves)N
  5406. 819(stored)X
  5407. 1046(on)X
  5408. 1157(over257ow)X
  5409. 1472(pages.)X
  5410. 1725(The)X
  5411. 1880(addresses)X
  5412. 432 3142(of)N
  5413. 520(the)X
  5414. 639(bitmap)X
  5415. 882(pages)X
  5416. 1086(and)X
  5417. 1223(the)X
  5418. 1342(number)X
  5419. 1608(of)X
  5420. 1695(pages)X
  5421. 1898(allocated)X
  5422. 432 3230(at)N
  5423. 515(each)X
  5424. 688(split)X
  5425. 850(point)X
  5426. 1039(are)X
  5427. 1163(stored)X
  5428. 1384(in)X
  5429. 1470(the)X
  5430. 1592(256le)X
  5431. 1718(header.)X
  5432. 1997(Using)X
  5433. 432 3318(this)N
  5434. 577(information,)X
  5435. 1005(both)X
  5436. 1177(over257ow)X
  5437. 1492(addresses)X
  5438. 1829(and)X
  5439. 1974(bucket)X
  5440. 432 3406(addresses)N
  5441. 764(can)X
  5442. 900(be)X
  5443. 999(mapped)X
  5444. 1276(to)X
  5445. 1361(disk)X
  5446. 1517(addresses)X
  5447. 1848(by)X
  5448. 1951(the)X
  5449. 2072(fol-)X
  5450. 432 3494(lowing)N
  5451. 674(calculation:)X
  5452. 0 f
  5453. 8 s
  5454. 432 3793(int)N
  5455. 736(bucket;)X
  5456. 1192(/*)X
  5457. 1306(bucket)X
  5458. 1572(address)X
  5459. 1876(*/)X
  5460. 432 3881(u_short)N
  5461. 736(oaddr;)X
  5462. 1192(/*)X
  5463. 1306(OVERFLOW)X
  5464. 1648(address)X
  5465. 1952(*/)X
  5466. 432 3969(int)N
  5467. 736 -0.4125(nhdr_pages;)AX
  5468. 1192(/*)X
  5469. 1306(npages)X
  5470. 1572(in)X
  5471. 1686 -112.4062(256le)AX
  5472. 1838(header)X
  5473. 2104(*/)X
  5474. 432 4057(int)N
  5475. 736 -0.4125(spares[32];)AX
  5476. 1192(/*)X
  5477. 1306(npages)X
  5478. 1572(at)X
  5479. 1686(each)X
  5480. 1876(split)X
  5481. 2104(*/)X
  5482. 432 4145(int)N
  5483. 736(log2();)X
  5484. 1198(/*)X
  5485. 1312(ceil(log)X
  5486. 1654(base)X
  5487. 1844(2))X
  5488. 1958(*/)X
  5489. 432 4321(#DEFINE)N
  5490. 736 -0.3929(BUCKET_TO_PAGE(bucket))AX
  5491. 1610(\)X
  5492. 584 4409(bucket)N
  5493. 850(+)X
  5494. 926 -0.4167(nhdr_pages)AX
  5495. 1344(+)X
  5496. 1420(\)X
  5497. 584 4497 -0.3894((bucket?spares[logs2(bucket)AN
  5498. 1648(+)X
  5499. 1724(1)-1]:0))X
  5500. 432 4673(#DEFINE)N
  5501. 736 -0.3947(OADDR_TO_PAGE(oaddr))AX
  5502. 1534(\)X
  5503. 584 4761 -0.3984(BUCKET_TO_PAGE((1)AN
  5504. 1268(<<)X
  5505. 1382 -0.4091((oaddr>>11)))AX
  5506. 1876(-)X
  5507. 1952(1))X
  5508. 2066(+)X
  5509. 2142(\)X
  5510. 584 4849(oaddr)N
  5511. 812(&)X
  5512. 888(0x7ff;)X
  5513. 1 f
  5514. 10 s
  5515. 604 5262(An)N
  5516. 728(over257ow)X
  5517. 1039(page)X
  5518. 1217(is)X
  5519. 1295(addressed)X
  5520. 1637(by)X
  5521. 1742(its)X
  5522. 1842(split)X
  5523. 2004(point,)X
  5524. 432 5350(identifying)N
  5525. 858(the)X
  5526. 1031(generations)X
  5527. 1476(between)X
  5528. 1819(which)X
  5529. 2090(the)X
  5530. 432 5438(over257ow)N
  5531. 740(page)X
  5532. 915(is)X
  5533. 991(allocated,)X
  5534. 1324(and)X
  5535. 1463(its)X
  5536. 1561(page)X
  5537. 1736(number,)X
  5538. 2023(iden-)X
  5539. 432 5526(tifying)N
  5540. 665(the)X
  5541. 783(particular)X
  5542. 1111(page)X
  5543. 1283(within)X
  5544. 1507(the)X
  5545. 1625(split)X
  5546. 1782(point.)X
  5547. 1986(In)X
  5548. 2073(this)X
  5549. 432 5614(implementation,)N
  5550. 983(offsets)X
  5551. 1225(within)X
  5552. 1457(pages)X
  5553. 1668(are)X
  5554. 1795(16)X
  5555. 1903(bits)X
  5556. 2046(long)X
  5557. 432 5702((limiting)N
  5558. 732(the)X
  5559. 851(maximum)X
  5560. 1196(page)X
  5561. 1368(size)X
  5562. 1513(to)X
  5563. 1595(32K),)X
  5564. 1800(so)X
  5565. 1891(we)X
  5566. 2005(select)X
  5567. 2418 538(an)N
  5568. 2535(over257ow)X
  5569. 2860(page)X
  5570. 3052(addressing)X
  5571. 3435(algorithm)X
  5572. 3786(that)X
  5573. 3946(can)X
  5574. 4098(be)X
  5575. 2418 626(expressed)N
  5576. 2760(in)X
  5577. 2847(16)X
  5578. 2952(bits)X
  5579. 3091(and)X
  5580. 3231(which)X
  5581. 3451(allows)X
  5582. 3684(quick)X
  5583. 3886(retrieval.)X
  5584. 2418 714(The)N
  5585. 2568(top)X
  5586. 2695(256ve)X
  5587. 2840(bits)X
  5588. 2980(indicate)X
  5589. 3258(the)X
  5590. 3380(split)X
  5591. 3541(point)X
  5592. 3729(and)X
  5593. 3869(the)X
  5594. 3991(lower)X
  5595. 2418 802(eleven)N
  5596. 2650(indicate)X
  5597. 2926(the)X
  5598. 3046(page)X
  5599. 3220(number)X
  5600. 3487(within)X
  5601. 3713(the)X
  5602. 3832(split)X
  5603. 3990(point.)X
  5604. 2418 890(Since)N
  5605. 2633(256ve)X
  5606. 2789(bits)X
  5607. 2940(are)X
  5608. 3075(reserved)X
  5609. 3384(for)X
  5610. 3514(the)X
  5611. 3648(split)X
  5612. 3821(point,)X
  5613. 4041(256les)X
  5614. 2418 978(may)N
  5615. 2578(split)X
  5616. 2737(32)X
  5617. 2839(times)X
  5618. 3034(yielding)X
  5619. 3318(a)X
  5620. 3376(maximum)X
  5621. 3721(256le)X
  5622. 3844(size)X
  5623. 3990(of)X
  5624. 4078(2)X
  5625. 7 s
  5626. 946(32)Y
  5627. 10 s
  5628. 2418 1066(buckets)N
  5629. 2698(and)X
  5630. 2849(32)X
  5631. 2 f
  5632. (*)S
  5633. 1 f
  5634. 2982(2)X
  5635. 7 s
  5636. 1034(11)Y
  5637. 10 s
  5638. 3113 1066(over257ow)N
  5639. 3433(pages.)X
  5640. 3691(The)X
  5641. 3850(maximum)X
  5642. 2418 1154(page)N
  5643. 2597(size)X
  5644. 2749(is)X
  5645. 2829(2)X
  5646. 7 s
  5647. 1122(15)Y
  5648. 10 s
  5649. 1154(,)Y
  5650. 2971(yielding)X
  5651. 3259(a)X
  5652. 3321(maximum)X
  5653. 3671(256le)X
  5654. 3799(size)X
  5655. 3950(greater)X
  5656. 2418 1242(than)N
  5657. 2601(131,000)X
  5658. 2906(GB)X
  5659. 3061((on)X
  5660. 3212(256le)X
  5661. 3358(systems)X
  5662. 3655(supporting)X
  5663. 4041(256les)X
  5664. 2418 1330(larger)N
  5665. 2626(than)X
  5666. 2784(4GB).)X
  5667. 10 f
  5668. 2418 1418 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
  5669. 1 Dt
  5670. 4014 2275 MXY
  5671. 0 133 Dl
  5672. 3881 2275 MXY
  5673. 0 133 Dl
  5674. 3748 2275 MXY
  5675. 0 133 Dl
  5676. 3083 2275 MXY
  5677. 0 133 Dl
  5678. 5 s
  5679. 1 f
  5680. 3523 2475(2/3)N
  5681. 3390(2/2)X
  5682. 3257(2/1)X
  5683. 2859(1/2)X
  5684. 2726(1/1)X
  5685. 5 Dt
  5686. 3814 1743 MXY
  5687. 0 133 Dl
  5688. 3282 1743 MXY
  5689. 0 133 Dl
  5690. 3017 1743 MXY
  5691. 0 133 Dl
  5692. 2884 1743 MXY
  5693. 0 133 Dl
  5694. 1 Dt
  5695. 3681 1743 MXY
  5696. 0 133 Dl
  5697. 133 0 Dl
  5698. 0 -133 Dl
  5699. -133 0 Dl
  5700. 3548 MX
  5701. 0 133 Dl
  5702. 133 0 Dl
  5703. 0 -133 Dl
  5704. -133 0 Dl
  5705. 3415 MX
  5706. 0 133 Dl
  5707. 133 0 Dl
  5708. 0 -133 Dl
  5709. -133 0 Dl
  5710. 3282 MX
  5711. 0 133 Dl
  5712. 133 0 Dl
  5713. 0 -133 Dl
  5714. -133 0 Dl
  5715. 3150 MX
  5716. 0 133 Dl
  5717. 132 0 Dl
  5718. 0 -133 Dl
  5719. -132 0 Dl
  5720. 3017 MX
  5721. 0 133 Dl
  5722. 133 0 Dl
  5723. 0 -133 Dl
  5724. -133 0 Dl
  5725. 2884 MX
  5726. 0 133 Dl
  5727. 133 0 Dl
  5728. 0 -133 Dl
  5729. -133 0 Dl
  5730. 3 f
  5731. 8 s
  5732. 3017 2601(Over257ow)N
  5733. 3285(Addresses)X
  5734. 3515 2833(Over257ow)N
  5735. 3783(Pages)X
  5736. 2850(Buckets)X
  5737. 1 Di
  5738. 3349 2740 MXY
  5739.  3349 2740 lineto
  5740.  3482 2740 lineto
  5741.  3482 2873 lineto
  5742.  3349 2873 lineto
  5743.  3349 2740 lineto
  5744. closepath 3 3349 2740 3482 2873 Dp
  5745. 2684 MX
  5746. 0 133 Dl
  5747. 133 0 Dl
  5748. 0 -133 Dl
  5749. -133 0 Dl
  5750. 5 Dt
  5751. 4146 2275 MXY
  5752. 0 133 Dl
  5753. 3216 2275 MXY
  5754. 0 133 Dl
  5755. 2684 2275 MXY
  5756. 0 133 Dl
  5757. 2551 2275 MXY
  5758. 0 133 Dl
  5759. 1 f
  5760. 3798 1963(3)N
  5761. 3266 1980(2)N
  5762. 3001(1)X
  5763. 2868(0)X
  5764. 1 Dt
  5765. 2751 1743 MXY
  5766. 0 133 Dl
  5767. 133 0 Dl
  5768. 0 -133 Dl
  5769. -133 0 Dl
  5770. 3548 2275 MXY
  5771. -15 -22 Dl
  5772. 2 16 Dl
  5773. -13 11 Dl
  5774. 26 -5 Dl
  5775. -282 -117 Dl
  5776. 3432 2275 MXY
  5777. -10 -25 Dl
  5778. -2 16 Dl
  5779. -15 8 Dl
  5780. 27 1 Dl
  5781. -166 -117 Dl
  5782. 3282 2275 MXY
  5783. 12 -25 Dl
  5784. -14 10 Dl
  5785. -15 -6 Dl
  5786. 17 21 Dl
  5787. -16 -117 Dl
  5788. 2884 2275 MXY
  5789. 26 7 Dl
  5790. -12 -12 Dl
  5791. 3 -16 Dl
  5792. -17 21 Dl
  5793. 382 -117 Dl
  5794. 2751 2275 MXY
  5795. 25 9 Dl
  5796. -11 -12 Dl
  5797. 5 -17 Dl
  5798. -19 20 Dl
  5799. 515 -117 Dl
  5800. 3 f
  5801. 3070 2152(Over257ow)N
  5802. 3338(Pages)X
  5803. 3482 2275 MXY
  5804.  3482 2275 lineto
  5805.  3615 2275 lineto
  5806.  3615 2408 lineto
  5807.  3482 2408 lineto
  5808.  3482 2275 lineto
  5809. closepath 3 3482 2275 3615 2408 Dp
  5810. 3349 MX
  5811.  3349 2275 lineto
  5812.  3482 2275 lineto
  5813.  3482 2408 lineto
  5814.  3349 2408 lineto
  5815.  3349 2275 lineto
  5816. closepath 3 3349 2275 3482 2408 Dp
  5817. 3216 MX
  5818.  3216 2275 lineto
  5819.  3349 2275 lineto
  5820.  3349 2408 lineto
  5821.  3216 2408 lineto
  5822.  3216 2275 lineto
  5823. closepath 3 3216 2275 3349 2408 Dp
  5824. 2817 MX
  5825.  2817 2275 lineto
  5826.  2950 2275 lineto
  5827.  2950 2408 lineto
  5828.  2817 2408 lineto
  5829.  2817 2275 lineto
  5830. closepath 3 2817 2275 2950 2408 Dp
  5831. 2684 MX
  5832.  2684 2275 lineto
  5833.  2817 2275 lineto
  5834.  2817 2408 lineto
  5835.  2684 2408 lineto
  5836.  2684 2275 lineto
  5837. closepath 3 2684 2275 2817 2408 Dp
  5838. 3615 MX
  5839. 0 133 Dl
  5840. 531 0 Dl
  5841. 0 -133 Dl
  5842. -531 0 Dl
  5843. 2950 MX
  5844. 0 133 Dl
  5845. 266 0 Dl
  5846. 0 -133 Dl
  5847. -266 0 Dl
  5848. 2551 MX
  5849. 0 133 Dl
  5850. 133 0 Dl
  5851. 0 -133 Dl
  5852. -133 0 Dl
  5853. 3798 1726 MXY
  5854. -21 -18 Dl
  5855. 6 16 Dl
  5856. -10 13 Dl
  5857. 25 -11 Dl
  5858. -599 -99 Dl
  5859. 3266 1726 MXY
  5860. -1 -27 Dl
  5861. -7 15 Dl
  5862. -17 1 Dl
  5863. 25 11 Dl
  5864. -67 -99 Dl
  5865. 3033 1726 MXY
  5866. 27 1 Dl
  5867. -14 -8 Dl
  5868. -1 -17 Dl
  5869. -12 24 Dl
  5870. 166 -99 Dl
  5871. 2900 1726 MXY
  5872. 27 7 Dl
  5873. -13 -11 Dl
  5874. 3 -17 Dl
  5875. -17 21 Dl
  5876. 299 -99 Dl
  5877. 3058 1621(Split)N
  5878. 3203(Points)X
  5879. 2418 2275 MXY
  5880. 0 133 Dl
  5881. 133 0 Dl
  5882. 0 -133 Dl
  5883. -133 0 Dl
  5884. 3 Dt
  5885. -1 Ds
  5886. 3137(Figure)Y
  5887. 2619(3:)X
  5888. 1 f
  5889. 2691(Split)X
  5890. 2832(points)X
  5891. 3008(occur)X
  5892. 3168(between)X
  5893. 3399(generations)X
  5894. 3712(and)X
  5895. 3823(are)X
  5896. 3919(numbered)X
  5897. 2418 3225(from)N
  5898. 2560(0.)X
  5899. 2642(In)X
  5900. 2713(this)X
  5901. 2824(256gure)X
  5902. 2991(there)X
  5903. 3136(are)X
  5904. 3231(two)X
  5905. 3345(over257ow)X
  5906. 3590(pages)X
  5907. 3753(allocated)X
  5908. 4000(at)X
  5909. 4063(split)X
  5910. 2418 3313(point)N
  5911. 2566(1)X
  5912. 2614(and)X
  5913. 2722(three)X
  5914. 2865(allocated)X
  5915. 3111(at)X
  5916. 3173(split)X
  5917. 3300(point)X
  5918. 3448(2.)X
  5919. 10 s
  5920. 10 f
  5921. 2418 3489 -0.0930(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh)AN
  5922. 3 f
  5923. 2949 3731(Buffer)N
  5924. 3192(Management)X
  5925. 1 f
  5926. 2590 3863(The)N
  5927. 2744(hash)X
  5928. 2920(table)X
  5929. 3105(is)X
  5930. 3187(stored)X
  5931. 3412(in)X
  5932. 3502(memory)X
  5933. 3797(as)X
  5934. 3892(a)X
  5935. 3956(logical)X
  5936. 2418 3951(array)N
  5937. 2633(of)X
  5938. 2749(bucket)X
  5939. 3012(pointers.)X
  5940. 3359(Physically,)X
  5941. 3761(the)X
  5942. 3907(array)X
  5943. 4121(is)X
  5944. 2418 4039(arranged)N
  5945. 2728(in)X
  5946. 2818(segments)X
  5947. 3144(of)X
  5948. 3239(256)X
  5949. 3387(pointers.)X
  5950. 3713(Initially,)X
  5951. 4013(there)X
  5952. 2418 4127(is)N
  5953. 2530(space)X
  5954. 2767(to)X
  5955. 2887(allocate)X
  5956. 3195(256)X
  5957. 3373(segments.)X
  5958. 3769(Reallocation)X
  5959. 2418 4215(occurs)N
  5960. 2651(when)X
  5961. 2847(the)X
  5962. 2967(number)X
  5963. 3234(of)X
  5964. 3323(buckets)X
  5965. 3590(exceeds)X
  5966. 3867(32K)X
  5967. 4027((256)X
  5968. 2418 4303(*)N
  5969. 2508(256).)X
  5970. 2745(Primary)X
  5971. 3053(pages)X
  5972. 3286(may)X
  5973. 3473(be)X
  5974. 3598(accessed)X
  5975. 3929(directly)X
  5976. 2418 4391(through)N
  5977. 2711(the)X
  5978. 2853(array)X
  5979. 3062(by)X
  5980. 3185(bucket)X
  5981. 3442(number)X
  5982. 3730(and)X
  5983. 3889(over257ow)X
  5984. 2418 4479(pages)N
  5985. 2628(are)X
  5986. 2754 0.4028(referenced)AX
  5987. 3122(logically)X
  5988. 3429(by)X
  5989. 3536(their)X
  5990. 3710(over257ow)X
  5991. 4022(page)X
  5992. 2418 4567(address.)N
  5993. 2726(For)X
  5994. 2864(small)X
  5995. 3063(hash)X
  5996. 3236(tables,)X
  5997. 3469(it)X
  5998. 3539(is)X
  5999. 3618(desirable)X
  6000. 3934(to)X
  6001. 4022(keep)X
  6002. 2418 4655(all)N
  6003. 2525(pages)X
  6004. 2735(in)X
  6005. 2823(main)X
  6006. 3009(memory)X
  6007. 3302(while)X
  6008. 3506(on)X
  6009. 3612(larger)X
  6010. 3826(tables,)X
  6011. 4059(this)X
  6012. 2418 4743(is)N
  6013. 2523(probably)X
  6014. 2860(impossible.)X
  6015. 3298(To)X
  6016. 3438(satisfy)X
  6017. 3698(both)X
  6018. 3891(of)X
  6019. 4009(these)X
  6020. 2418 4831(requirements,)N
  6021. 2900(the)X
  6022. 3041(package)X
  6023. 3348(includes)X
  6024. 3658(buffer)X
  6025. 3897(manage-)X
  6026. 2418 4919(ment)N
  6027. 2598(with)X
  6028. 2760(LRU)X
  6029. 2940((least)X
  6030. 3134(recently)X
  6031. 3413(used))X
  6032. 3607(replacement.)X
  6033. 2590 5033(By)N
  6034. 2730(default,)X
  6035. 3020(the)X
  6036. 3165(package)X
  6037. 3475(allocates)X
  6038. 3802(up)X
  6039. 3928(to)X
  6040. 4036(64K)X
  6041. 2418 5121(bytes)N
  6042. 2616(of)X
  6043. 2712(buffered)X
  6044. 3014(pages.)X
  6045. 3246(All)X
  6046. 3377(pages)X
  6047. 3589(in)X
  6048. 3680(the)X
  6049. 3807(buffer)X
  6050. 4032(pool)X
  6051. 2418 5209(are)N
  6052. 2542(linked)X
  6053. 2766(in)X
  6054. 2852(LRU)X
  6055. 3036(order)X
  6056. 3230(to)X
  6057. 3316(facilitate)X
  6058. 3621(fast)X
  6059. 3761(replacement.)X
  6060. 2418 5297(Whereas)N
  6061. 2724(ef256cient)X
  6062. 3011(access)X
  6063. 3241(to)X
  6064. 3327(primary)X
  6065. 3605(pages)X
  6066. 3812(is)X
  6067. 3889(provided)X
  6068. 2418 5385(by)N
  6069. 2521(the)X
  6070. 2642(bucket)X
  6071. 2879(array,)X
  6072. 3087(ef256cient)X
  6073. 3372(access)X
  6074. 3600(to)X
  6075. 3684(over257ow)X
  6076. 3991(pages)X
  6077. 2418 5473(is)N
  6078. 2501(provided)X
  6079. 2816(by)X
  6080. 2926(linking)X
  6081. 3182(over257ow)X
  6082. 3497(page)X
  6083. 3679(buffers)X
  6084. 3936(to)X
  6085. 4027(their)X
  6086. 2418 5561(predecessor)N
  6087. 2827(page)X
  6088. 3008((either)X
  6089. 3247(the)X
  6090. 3374(primary)X
  6091. 3657(page)X