On 04/08/2012 12:15 PM, Stefan Plantikow wrote:
Hi,
I was thinking about this, too. One of the state-of-the art algorithms seems to
be hopscotch hashing, wikipedia has a quite good introduction to it. Even
though it has been developed for concurrent access, it should also be quite
good in a single core scenario and has a really low memory footprint (90% full
hash table still works reasonably). I was thinking about implementing that for
fun once the currently ongoing changes to regions and vectors are complete.
Hashing algorithms (hopscotch, bloom filters) could greatly benefit from having
access to the llvm bit manipulation intrinsics (ctpop, ctlz, cttz, bswap). I
think the general plan was to access these using some form of inline llvm asm.
However in the absence of that I wonder wether we should just have support for
those directly in core or std for all the integer types (quite some languages
do that).
We used to have an 'llvm' ABI for native mods that was intended to give
access to the llvm intrinsics. We could add that back, or just add them
as rust intrinsics ('rust-intrinsic' ABI) as needed.
Feedback/Suggestions?
PS: Is there yet a plan on how to move towards more use of interfaces in the
libs, and (by extension) rustc?
I don't think there's a plan yet. It's probably worth waiting for classes.
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev