Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime: TestSmhasherWindowed is still flaky on linux-386-longtest #43130

Open
bcmills opened this issue Dec 11, 2020 · 3 comments
Open

runtime: TestSmhasherWindowed is still flaky on linux-386-longtest #43130

bcmills opened this issue Dec 11, 2020 · 3 comments

Comments

@bcmills
Copy link
Member

@bcmills bcmills commented Dec 11, 2020

2020-12-10T22:58:49-6d3d3fb/linux-386-longtest

##### GOMAXPROCS=2 runtime -cpu=1,2,4 -quick
--- FAIL: TestSmhasherWindowed (27.87s)
    hash_test.go:566: 32 bit keys
    hash_test.go:161: unexpected number of collisions: got=512 mean=0.499992 stddev=0.707101 threshold=156.565200
    hash_test.go:568: 64 bit keys
    hash_test.go:570: string keys
--- FAIL: TestSmhasherWindowed (26.69s)
    hash_test.go:566: 32 bit keys
    hash_test.go:161: unexpected number of collisions: got=512 mean=0.499992 stddev=0.707101 threshold=156.565200
    hash_test.go:568: 64 bit keys
    hash_test.go:570: string keys
--- FAIL: TestSmhasherWindowed (26.69s)
    hash_test.go:566: 32 bit keys
    hash_test.go:161: unexpected number of collisions: got=512 mean=0.499992 stddev=0.707101 threshold=156.565200
    hash_test.go:568: 64 bit keys
    hash_test.go:570: string keys
FAIL
FAIL	runtime	598.996s

2020-10-26T21:47:49-36c5edd/linux-386-longtest

--- FAIL: TestSmhasherWindowed (26.23s)
    hash_test.go:566: 32 bit keys
    hash_test.go:161: unexpected number of collisions: got=512 mean=0.499992 stddev=0.707101 threshold=156.565200
    hash_test.go:568: 64 bit keys
    hash_test.go:161: unexpected number of collisions: got=512 mean=0.499992 stddev=0.707101 threshold=156.565200
    hash_test.go:570: string keys
FAIL
FAIL	runtime	169.624s

See previously #39352.

I would guess that it's flaky on 32-bit ARM too, but we don't have a longtest builder for that configuration.

CC @randall77

@bcmills
Copy link
Member Author

@bcmills bcmills commented Jan 25, 2021

2021-01-22T23:03:58-25c39e4/linux-386-longtest

--- FAIL: TestSmhasherWindowed (26.54s)
    hash_test.go:566: 32 bit keys
    hash_test.go:568: 64 bit keys
    hash_test.go:570: string keys
    hash_test.go:161: unexpected number of collisions: got=514 mean=0.499992 stddev=0.707101 threshold=156.565200
    hash_test.go:161: unexpected number of collisions: got=256 mean=0.499992 stddev=0.707101 threshold=156.565200
FAIL
FAIL	runtime	182.398s

@gopherbot
Copy link

@gopherbot gopherbot commented Mar 5, 2021

Change https://golang.org/cl/280372 mentions this issue: runtime: using wyhash for memhashFallback on 32bit platform

gopherbot pushed a commit that referenced this issue Mar 16, 2021
wyhash is a general hash function that:

1. Default hash function of Zig, Nim
2. Passed Smhasher, BigCrush and PractRand
3. Less code
4. 3~26% faster than internal hashmap

name                  old time/op    new time/op    delta
Hash5                   67.8ns ± 0%    65.4ns ± 0%   -3.45%  (p=0.000 n=7+10)
Hash16                  82.5ns ± 0%    74.2ns ± 0%  -10.12%  (p=0.000 n=6+8)
Hash64                   121ns ± 0%     102ns ± 0%  -15.82%  (p=0.000 n=7+10)
Hash1024                1.13µs ± 0%    0.89µs ± 0%  -20.58%  (p=0.000 n=10+9)
Hash65536               68.9µs ± 0%    54.4µs ± 0%  -21.04%  (p=0.000 n=10+7)
HashStringSpeed          103ns ± 2%      93ns ± 3%  -10.24%  (p=0.000 n=9+10)
HashBytesSpeed           191ns ± 2%     180ns ± 1%   -5.40%  (p=0.000 n=10+8)
HashInt32Speed          59.0ns ± 2%    59.1ns ± 1%     ~     (p=0.655 n=9+8)
HashInt64Speed          72.7ns ± 3%    66.1ns ± 5%   -9.04%  (p=0.000 n=10+10)
HashStringArraySpeed     270ns ± 1%     222ns ± 2%  -17.91%  (p=0.000 n=10+10)
FastrandHashiter         108ns ± 0%     109ns ± 1%   +0.96%  (p=0.002 n=10+10)

name                  old speed      new speed      delta
Hash5                 73.8MB/s ± 0%  76.4MB/s ± 0%   +3.58%  (p=0.000 n=7+10)
Hash16                 194MB/s ± 0%   216MB/s ± 0%  +11.25%  (p=0.000 n=10+8)
Hash64                 530MB/s ± 0%   630MB/s ± 0%  +18.74%  (p=0.000 n=8+10)
Hash1024               910MB/s ± 0%  1145MB/s ± 0%  +25.88%  (p=0.000 n=10+9)
Hash65536              951MB/s ± 0%  1204MB/s ± 0%  +26.64%  (p=0.000 n=10+7)

Update #43130

Change-Id: Id00c54b116a2411fcf675e95896fffb85f0e25b6
Reviewed-on: https://go-review.googlesource.com/c/go/+/280372
Trust: Meng Zhuo <mzh@golangcn.org>
Run-TryBot: Meng Zhuo <mzh@golangcn.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants