This looks good. Two minor questions before I apply:
Reformatted excerpts from Rich Lane's message of 2009-08-16:
> The regexes in this function are very expensive, so caching improves
> performance significantly for queries and slightly for indexing.
When you say this affects query performance, is it just the contact-list
query, or is there some other mechanism by which this is slowing down
regular queries?
Also in this method:
> + def []=(k,v)
> + if @values.size < @n
> + @values[k] = v
> + @marks[k] = @i
> + else
> + if @delete_stack.empty?
> + sweep
> + else
> + k2 = @delete_stack.pop
> + @values.delete k2
> + @marks.delete k2
> + self[k] = v
> + end
> + end
> + end
Wouldn't it be better to do this?
else
if @delete_stack.empty?
sweep
end
unless @delete_stack.empty?
k2 = @delete_stack.pop
@values.delete k2
@marks.delete k2
self[k] = v
end
So we check the delete stack even after calling sweep, and we allow for
the value to be nil.
Thanks!
--
William <[email protected]>
_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk