Review Request 108370: Use a generic hash function for KDevplatform types

Kevin Funk krf at gmx.de
Thu Feb 21 12:51:14 UTC 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/108370/#review27837
-----------------------------------------------------------


Status? Milian?

- Kevin Funk


On Jan. 14, 2013, 3:52 p.m., Olivier Jean de Gaalon wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/108370/
> -----------------------------------------------------------
> 
> (Updated Jan. 14, 2013, 3:52 p.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Description
> -------
> 
> Implement a generic hash function (minor variation of one-at-a-time) which can be used to hash the data of item repository data classes.
> The good:
>     Removes around 80% of bucket clashes and 100% of actually equal hashes for different types in the real-world C++ cases I've tested.
>     No need to pull numbers out of a hat and hope you didn't clash.
> The bad:
>     The hash function is more expensive, and so might cancel out the gains in speed, at least in smaller projects (hard to create a real-world benchmark that can show the difference)
> The meh:
>     Either way it makes no visually discernable difference, so it should probably be seen from an ease-of-use perspective.
> 
> I've had this sitting around for a while, but here it is for reviewer's pleasure.
> 
> 
> Diffs
> -----
> 
>   language/duchain/declarationid.h 7caccf5 
>   language/duchain/identifier.cpp 4cfc90e 
>   language/duchain/indexeddeclaration.h 6f486ab 
>   language/duchain/indexedducontext.h d972202 
>   language/duchain/instantiationinformation.cpp dbc236d 
>   language/duchain/referencecounting.cpp a4dece2 
>   language/duchain/types/abstracttype.h de3c9ce 
>   language/duchain/types/abstracttype.cpp e7f7d99 
>   language/duchain/types/arraytype.h bba7646 
>   language/duchain/types/arraytype.cpp 673f691 
>   language/duchain/types/constantintegraltype.h 3221559 
>   language/duchain/types/constantintegraltype.cpp 4cb8a36 
>   language/duchain/types/delayedtype.h 252e865 
>   language/duchain/types/delayedtype.cpp 5506a45 
>   language/duchain/types/enumerationtype.h 7fb0313 
>   language/duchain/types/enumerationtype.cpp 4901136 
>   language/duchain/types/enumeratortype.h edfe3dc 
>   language/duchain/types/enumeratortype.cpp a3d3ab6 
>   language/duchain/types/functiontype.h c9d1798 
>   language/duchain/types/functiontype.cpp bc6b842 
>   language/duchain/types/integraltype.h 346593d 
>   language/duchain/types/integraltype.cpp f40f05b 
>   language/duchain/types/pointertype.h deb40ed 
>   language/duchain/types/pointertype.cpp fbb2143 
>   language/duchain/types/referencetype.h 9c13080 
>   language/duchain/types/referencetype.cpp 8919f7f 
>   language/duchain/types/structuretype.h 97fed98 
>   language/duchain/types/structuretype.cpp 27b0088 
>   language/duchain/types/typealiastype.h a695dec 
>   language/duchain/types/typealiastype.cpp 903e2e1 
>   language/duchain/types/unsuretype.h fa2cfe0 
>   language/duchain/types/unsuretype.cpp cba3984 
>   util/CMakeLists.txt 29de126 
>   util/kdevhash.h PRE-CREATION 
> 
> Diff: http://git.reviewboard.kde.org/r/108370/diff/
> 
> 
> Testing
> -------
> 
> 
> File Attachments
> ----------------
> 
> Patch to make duchainify show itemrepository stats
>   http://git.reviewboard.kde.org/media/uploaded/files/2013/01/12/duchainifywithitemrepositorystats.diff
> 
> 
> Thanks,
> 
> Olivier Jean de Gaalon
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20130221/b89bcf55/attachment.html>


More information about the KDevelop-devel mailing list