[rust-dev] hashmap benchmark
stefan.plantikow at googlemail.com
Sun Apr 8 13:55:15 PDT 2012
Am Sonntag, 8. April 2012 um 22:32 schrieb Brian Anderson:
> > 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.
That would be nice. For hash table algorithms, ctpop/ctlz/cttz will be really useful (should also speedup the sudoku benchmark :). And swap is quite helpful for dealing with utf8 byte order swapping. How would one call these via the rust intrinsics? I am not deep enough into the llvm-rust-bits.
> > Feedback/Suggestions?
Is going for hopscotch a good idea? Ah well, will try in any case ;)
> > 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.
Ok, that makes sense to some extent, though things like comparison etc already could move towards using interfaces, I guess.
More information about the Rust-dev