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

fix(xxhash3): add fallback to fix panic occurs on non avx2, non sse2 machine #108

Merged
merged 1 commit into from
Nov 3, 2021

Conversation

lyeeeeee
Copy link
Collaborator

@lyeeeeee lyeeeeee commented Nov 3, 2021

No description provided.

@github-actions
Copy link

github-actions bot commented Nov 3, 2021

Benchdiff

Runs: Benchdiff #10

Job is started.

@lyeeeeee lyeeeeee force-pushed the fix/xxhash_3_noavx2_support branch from ab0d5e3 to a124762 Compare November 3, 2021 03:57
@github-actions
Copy link

github-actions bot commented Nov 3, 2021

Benchdiff

Command: go test ./util/xxhash3 -run '^$' -bench . -count 10 -benchtime 1s -benchmem
HEAD: ab0d5e3
Base: fd6d3cb
Runs: Benchdiff #10
Degraded: false

Results

pkg: github.com/bytedance/gopkg/util/xxhash3
goos: linux
goarch: amd64

name old time/op (ns/op) ± new time/op (ns/op) ± delta ±
Default/Len0_16/Target64-2 202.75 4% 203.68 3% ~ (p=0.481 n=10+10)
Default/Len0_16/Target128-2 491.85 3% 494.722 2% ~ (p=0.356 n=10+9)
Default/Len17_128/Target64-2 2169.8 2% 2193.89 3% ~ (p=0.268 n=10+9)
Default/Len17_128/Target128-2 4143.44 4% 4082.9 2% ~ (p=0.268 n=9+10)
Default/Len129_240/Target64-2 3607.78 2% 3667.56 7% ~ (p=0.340 n=9+9)
Default/Len129_240/Target128-2 5961.2 3% 5981.3 4% ~ (p=0.912 n=10+10)
Default/Len241_1024/Target64-2 93545.5 3% 93874.8 3% ~ (p=0.604 n=10+9)
Default/Len241_1024/Target128-2 105786 3% 107302 3% ~ (p=0.052 n=10+10)
Default/Scalar/Target64-2 5712980 3% 5468390 2% -4.28% (p=0.000 n=9+8)
Default/Scalar/Target128-2 5695620 6% 5471790 3% -3.93% (p=0.004 n=10+9)
Default/AVX2/Target64-2 2063660 8% 1979040 4% -4.10% (p=0.035 n=10+9)
Default/AVX2/Target128-2 2169190 10% 1954670 5% -9.89% (p=0.000 n=10+10)
Default/SSE2/Target64-2 2987810 7% 2919500 5% ~ (p=0.165 n=10+10)
Default/SSE2/Target128-2 2957720 3% 2971510 7% ~ (p=1.000 n=10+10)
name old alloc/op (B/op) ± new alloc/op (B/op) ± delta ±
Default/Len0_16/Target64-2 0 0 ~ (all equal)
Default/Len0_16/Target128-2 0 0 ~ (all equal)
Default/Len17_128/Target64-2 0 0 ~ (all equal)
Default/Len17_128/Target128-2 0 0 ~ (all equal)
Default/Len129_240/Target64-2 0 0 ~ (all equal)
Default/Len129_240/Target128-2 0 0 ~ (all equal)
Default/Len241_1024/Target64-2 0 0 ~ (all equal)
Default/Len241_1024/Target128-2 0 0 ~ (all equal)
Default/Scalar/Target64-2 0 0 ~ (all equal)
Default/Scalar/Target128-2 0 0 ~ (all equal)
Default/AVX2/Target64-2 0 0 ~ (all equal)
Default/AVX2/Target128-2 0 0 ~ (all equal)
Default/SSE2/Target64-2 0 0 ~ (all equal)
Default/SSE2/Target128-2 0 0 ~ (all equal)
name old allocs/op (allocs/op) ± new allocs/op (allocs/op) ± delta ±
Default/Len0_16/Target64-2 0 0 ~ (all equal)
Default/Len0_16/Target128-2 0 0 ~ (all equal)
Default/Len17_128/Target64-2 0 0 ~ (all equal)
Default/Len17_128/Target128-2 0 0 ~ (all equal)
Default/Len129_240/Target64-2 0 0 ~ (all equal)
Default/Len129_240/Target128-2 0 0 ~ (all equal)
Default/Len241_1024/Target64-2 0 0 ~ (all equal)
Default/Len241_1024/Target128-2 0 0 ~ (all equal)
Default/Scalar/Target64-2 0 0 ~ (all equal)
Default/Scalar/Target128-2 0 0 ~ (all equal)
Default/AVX2/Target64-2 0 0 ~ (all equal)
Default/AVX2/Target128-2 0 0 ~ (all equal)
Default/SSE2/Target64-2 0 0 ~ (all equal)
Default/SSE2/Target128-2 0 0 ~ (all equal)

@zhangyunhao116 zhangyunhao116 changed the title xxhash3: add fallback to fix panic occurs on non avx2, non sse2 machine fix(xxhash3): add fallback to fix panic occurs on non avx2, non sse2 machine Nov 3, 2021
@zhangyunhao116 zhangyunhao116 merged commit d3b5921 into develop Nov 3, 2021
@zhangyunhao116 zhangyunhao116 deleted the fix/xxhash_3_noavx2_support branch November 3, 2021 08:35
zhangyunhao116 added a commit that referenced this pull request Jan 18, 2022
* release: 20210913 (#83) (#88)

* feat: circuitbreaker.panel use skipmap (#78)

* fix(metainfo): fix misuse of append (#79)

* fix(lscq): add write barrier for LSCQ Pointer (#80)

* feat(metainfo): improve backward APIs (#81)

* release: 20210913 (#83) (#93)

* feat: circuitbreaker.panel use skipmap (#78)

* fix(metainfo): fix misuse of append (#79)

* fix(lscq): add write barrier for LSCQ Pointer (#80)

* feat(metainfo): improve backward APIs (#81)

* chore(skipmap,skipset): remove duplicated code generation declaration (#87)

* fix(lscq): cas2 use runtime.noescape (#94)

* feat: add fastrand.Read() (#90)

Co-authored-by: liyichao <[email protected]>

* doc: add badge to link to godoc (#99)

* ci: skip golang related workflows when there are only doc changes (#101)

* ci: add workflow for feishu/lark notification (#100)

* ci: add workflow for feishu/lark notification

* ci: fix typo

* ci: also send feishu notification on issue opened

Co-authored-by: Jonathan Lu <[email protected]>

* feat(metainfo): define standard for backward prefix (#102)

* feat(fastrand): support Read,Shuffle,Perm (#103)

* feat(fastrand): Read remove temp buffer (#104)

* ci: add github workflow for performance regression check (#95)

* ci: add github workflow for performance regression check

Comment "/benchdiff" to trigger this check

* ci: add comments to pr-benchdiff.yml

* ci: report benchdiff result to PR_HEAD's check run

* ci: various changes

- support "pull_reqeust" event
- filter deleted go packages
- post a comment on job started
- post a comment on job failed

* ci: let xargs ignore empty line

* ci: skip benchdiff when there are only doc changes

* ci: set -x for debugging

* ci: make sure we are using github default branch as baseline

* ci: set benchtime=1s for benchdiff

* chore: add github issue forms (#105)

* test(lang/syncx): add benchmark for RWMutex (#89)

* fix(xxhash3): add fallback to fix panic occurs on non avx2, non sse2 machine (#108)

Co-authored-by: Ye Li <[email protected]>

* feat: add zset (#98)

* feat: add zset

* chore(zset): update comment

* docs(zset): add readme

* chore: some code style fixes

* chore(zset): rename Float64RangeOpt -> RangeOpt

* chore(zset): comment style fixes

* chore(zset): add a todo about maxLevel

* chore(zset): another comment fix

* chore(zset): move skiplist impl to another file

* chore(zset): add license header for opt.go

* chore: add myself as zset's CODEOWNER

* zset: don't use z.Range(0, z.Len()-1)

* doc: remove redundant section

* fix(zset): break when key is not exist

* chore(zset): simplify func name

* chore(zset): update cheatsheet

* chore(zset): meaningful const

* refactor(zset): optionalArray.init()

* docs: update zset readme

* docs(zset): also add @zhangyunhao116 as code owner

* docs(zset): some grammar fixes

* docs: fix docs typo (#109)

* feat: auto tuning gc (#112)

* feat: auto tuning gc

* doc: gctuner

* fix: gctuner tests data race (#113)

* fix: gctuner tests data race

* chore: add owner

* chore(ci): use self-hosted runner (#114)

* chore(ci): use self-hosted runner

* fix lint

Co-authored-by: Shengyu Zhang <[email protected]>
Co-authored-by: ziposcar <[email protected]>
Co-authored-by: liyichao <[email protected]>
Co-authored-by: Shengyu Zhang <[email protected]>
Co-authored-by: Jonathan Lu <[email protected]>
Co-authored-by: Pure White <[email protected]>
Co-authored-by: lyeeeeee <[email protected]>
Co-authored-by: Ye Li <[email protected]>
Co-authored-by: chyroc <[email protected]>
Co-authored-by: Joway <[email protected]>
Co-authored-by: Joway <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

gopkg seems failed to run tests on some amd cpu which have no AVX2 support
3 participants