To go even further, it is also possible to add the attached patch __on top__ of 
the previous one:


·         don't use bitvector::sloppyCount at all in category::patternSearch

·         need to AND with the mast when there's no match in query::doEvaluate

Thanks,

From: Dominique Prunier
Sent: Monday, March 26, 2012 11:46 AM
To: FastBit Users
Subject: PATCH: perf boost on top of r501

Hey John,

I tried the performance of the sloppyCount and it seems quite convincing. It is 
only 1% slower than returning constants (1 or 0) and could potentially speedup 
trivial cases from time to time i guess.

So i ported my performance patch on top of r501 and replaced my “return 1 or 0” 
by some calls to sloppyCount. Here is what the patch includes:

·         in category::patternSearch, skip the decompression/compression phase 
(this one has a __HUGE__ impact on perf)

·         in category::patternSearch, use sloppyCount for estimation

·         in query::doEvaluate, fix returned value when term == null (was 0, 
now is row count)

·         in query::doEvaluate, even more usage of bitvector::sloppyCount 
instead of bitvector::cnt

·         in query::doEvaluate, removed complex OR evaluation depending on 
bitmap sizes (maybe this can be restored in a less costly way)

So far, it passes all my tests (this is not a very intrusive change).
Please tell me if this would be candidate for the next stable release.

Thanks,

Dominique Prunier
 APG Lead Developper
[cid:[email protected]]
 4388, rue Saint-Denis
 Bureau 309
 Montreal (Quebec)  H2J 2L1
 Tel. +1 514-842-6767  x310
 Fax +1 514-842-3989
 [email protected]<mailto:[email protected]>
 www.watch4net.com<http://www.watch4net.com/>

This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information. If you have received it in 
error, please notify the sender immediately and delete the original. Any other 
use of this electronic mail by you is prohibited.

Ce message est pour le récipiendaire désigné seulement et peut contenir des 
informations privilégiées, propriétaires ou autrement privées. Si vous l'avez 
reçu par erreur, S.V.P. avisez l'expéditeur immédiatement et effacez 
l'original. Toute autre utilisation de ce courrier électronique par vous est 
prohibée.

<<inline: image001.gif>>

Attachment: perf_patch_2.patch
Description: perf_patch_2.patch

_______________________________________________
FastBit-users mailing list
[email protected]
https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users

Reply via email to