feat(tvix/eval): Forbid Hash{Map,Set}, use Fx instead

Per https://nnethercote.github.io/perf-book/hashing.html, we have
basically no reason to use the default hasher over a faster,
non-DoS-resistant hasher. This gives a nice perf boost basically for
free:

hello outpath           time:   [704.76 ms 714.91 ms 725.63 ms]
                        change: [-7.2391% -6.1018% -4.9189%] (p = 0.00 < 0.05)
                        Performance has improved.

Change-Id: If5587f444ed3af69f8af4eead6af3ea303b4ae68
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12046
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Autosubmit: aspen <root@gws.fyi>
This commit is contained in:
Aspen Smith 2024-07-28 12:11:41 -04:00 committed by clbot
parent 1d7ba89c19
commit b8f92a6d53
17 changed files with 116 additions and 46 deletions

View file

@ -9701,7 +9701,7 @@ rec {
}
{
name = "rustc-hash";
packageId = "rustc-hash";
packageId = "rustc-hash 1.1.0";
}
{
name = "rustls";
@ -9768,7 +9768,7 @@ rec {
}
{
name = "rustc-hash";
packageId = "rustc-hash";
packageId = "rustc-hash 1.1.0";
}
{
name = "rustls";
@ -10901,7 +10901,7 @@ rec {
}
{
name = "rustc-hash";
packageId = "rustc-hash";
packageId = "rustc-hash 1.1.0";
}
{
name = "text-size";
@ -11051,7 +11051,7 @@ rec {
"rustc-dep-of-std" = [ "core" "compiler_builtins" ];
};
};
"rustc-hash" = rec {
"rustc-hash 1.1.0" = rec {
crateName = "rustc-hash";
version = "1.1.0";
edition = "2015";
@ -11064,6 +11064,20 @@ rec {
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"rustc-hash 2.0.0" = rec {
crateName = "rustc-hash";
version = "2.0.0";
edition = "2021";
sha256 = "0lni0lf846bzrf3jvci6jaf4142n1mdqxvcpczk5ch9pfgyk8c2q";
authors = [
"The Rust Project Developers"
];
features = {
"default" = [ "std" ];
"rand" = [ "dep:rand" "std" ];
};
resolvedDefaultFeatures = [ "default" "std" ];
};
"rustc_version" = rec {
crateName = "rustc_version";
version = "0.4.0";
@ -15892,6 +15906,10 @@ rec {
name = "rowan";
packageId = "rowan";
}
{
name = "rustc-hash";
packageId = "rustc-hash 2.0.0";
}
{
name = "rustyline";
packageId = "rustyline";
@ -16049,6 +16067,10 @@ rec {
name = "rowan";
packageId = "rowan";
}
{
name = "rustc-hash";
packageId = "rustc-hash 2.0.0";
}
{
name = "serde";
packageId = "serde";