On Mon, Jun 18, 2007 at 10:41:54PM +0200, Alfredo Braunstein wrote: > Dov Feldstern wrote: > > > Why do we need that structure at all? Given that our char_type is > > 32-bits, and we don't use all 32, we could do something like the > > following: the insets themselves could be stored in a hash table, > > without storing their positions in that structure. At each position in > > the paragraph where an inset appears, instead of just the META_INSET > > character, we store an actual key into the hash table. (From the comment > > on META_INSET I understand that we don't use any values above 0x20001 > > --- which means that we have more than enough room for keys to as many > > insets as we'd like in a single paragraph...). Then, there's no need of > > keeping the insets structure in sync with the paragraph itself after > > every insertion... > > Note that if anything, this will make faster insertion and deletions, not > lookups (the potential bottleneck that started this thread). I doubt that > it has a real impact. > > Second point, I think a hash table is really not good because then iteration > *in order* over insets of a paragraph becomes much worse than now (I think > we use it in a few places). > > Now for a change, how about focusing on real bottlenecks? SCNR ;-)
Like the build process? ;-} Andre'