[KinoSearch] Orderly global destruction

Marvin Humphrey marvin at rectangular.com
Thu Feb 21 13:26:47 PST 2008


On Feb 21, 2008, at 12:18 PM, Marvin Humphrey wrote:

> The disappointing thing is that after all the work that it took to  
> disentangle sv_bless and suss out the direct creation approach, I  
> see absolutely no difference in the benchmarks.  Creating and  
> destroying that extra RV just doesn't seem to matter.

I was able to expose a difference by switching Token to use  
KinoSearch::Obj as a base class rather than  
KinoSearch::Util::FastObj.  With that change, the indexing benchmark  
improved by around 5% using direct creation: 0.86 secs vs. 0.90 secs  
for 1000 docs.  So at least we know it makes a difference if you're  
creating huge numbers of objects.

However, with Token using FastObj, we're at 0.59 secs already.

I actually think we can speed indexing up some more by allocating  
Tokens from a MemPool belonging to the TokenBatch.  That would cut  
calls to malloc() way way down.

Marvin Humphrey
Rectangular Research
http://www.rectangular.com/




More information about the kinosearch mailing list