Hacker News new | ask | show | jobs
by steveklabnik 2949 days ago
HashSet uses a cryptographically secure hashing algorithm by default, it’s gonna be slow.
1 comments

What's the Rust equivalent of Go maps or D associative arrays then?
The Rust HashMap and HashSet implementations are generic over hasher: you can pick a faster one if you don't have to worry about getting ddos'd. Last I checked, the go-to fast hasher was fnv: https://doc.servo.org/fnv/
How often do I need to explain that this siphash claim of DDOS protection is utter nonsense. siphash can easily be brute forced like every insecure hash function (<256 bits), and proper DDOS protection can only be provided by a proper collision strategy. Even DJB himself does so.
Well, it's not in the standard lib and I couldn't get my program to compile. Compare that to D or Go, where you don't have to fight the copiler.
Rust has a different take on the standard library than many other languages. It's kept quite minimal, because it's trivial to use a package.
Is there any way to use it directly in the source w/o having to create a Crate.toml and src dirs? Is there a getting started document? Dub recently included such a feature.
That's the hard way. `cargo new` generates both for you, so you don't need to do any of that stuff manually.

If you really, really want to, you could use https://crates.io/crates/cargo-script to do the way you're talking about.

https://doc.rust-lang.org/cargo/ has installation, getting started, a reference, all of that. It needs some work, but for the basics of doing this, it's got it all.

Yup, this is 100% correct.