Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: golang/sync
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.6.0
Choose a base ref
...
head repository: golang/sync
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.7.0
Choose a head ref
  • 1 commit
  • 2 files changed
  • 1 contributor

Commits on Mar 4, 2024

  1. semaphore: cancel acquisition with a done context

    When acquiring from a semaphore could proceed without contention, the
    previous behavior was to always do so, even when the provided context
    was done. This was the documented behavior, but it could lead to
    confusion. It isn't much more expensive to check the context error, so
    cancel acquisition if it's done.
    
    Fixes golang/go#63615.
    
    goos: linux
    goarch: amd64
    pkg: golang.org/x/sync/semaphore
    cpu: 12th Gen Intel(R) Core(TM) i5-1235U
                                            │  old.bench  │             new.bench              │
                                            │   sec/op    │   sec/op     vs base               │
    AcquireSeq/Weighted-acquire-1-1-1-12      26.45n ± 2%   27.25n ± 3%  +3.04% (p=0.001 n=20)
    AcquireSeq/Weighted-acquire-2-1-1-12      26.96n ± 1%   27.12n ± 1%       ~ (p=0.104 n=20)
    AcquireSeq/Weighted-acquire-16-1-1-12     26.07n ± 3%   27.48n ± 1%  +5.45% (p=0.000 n=20)
    AcquireSeq/Weighted-acquire-128-1-1-12    26.19n ± 2%   27.24n ± 1%  +4.01% (p=0.000 n=20)
    AcquireSeq/Weighted-acquire-2-2-1-12      25.61n ± 1%   25.99n ± 2%       ~ (p=0.066 n=20)
    AcquireSeq/Weighted-acquire-16-2-8-12     209.6n ± 2%   211.0n ± 3%       ~ (p=0.280 n=20)
    AcquireSeq/Weighted-acquire-128-2-64-12   1.669µ ± 1%   1.721µ ± 2%  +3.09% (p=0.000 n=20)
    AcquireSeq/Weighted-acquire-2-1-2-12      51.08n ± 1%   53.03n ± 2%  +3.82% (p=0.000 n=20)
    AcquireSeq/Weighted-acquire-16-8-2-12     52.48n ± 2%   53.66n ± 2%  +2.26% (p=0.028 n=20)
    AcquireSeq/Weighted-acquire-128-64-2-12   52.27n ± 1%   53.71n ± 2%  +2.75% (p=0.000 n=20)
    geomean                                   60.06n        61.69n       +2.71%
    
    Change-Id: I0ae1a0bb6c027461ac1a9ee71c51efd8427ab308
    Reviewed-on: https://go-review.googlesource.com/c/sync/+/536275
    Auto-Submit: Bryan Mills <[email protected]>
    Reviewed-by: Bryan Mills <[email protected]>
    Reviewed-by: Michael Knyszek <[email protected]>
    LUCI-TryBot-Result: Go LUCI <[email protected]>
    zephyrtronium authored and gopherbot committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    14be23e View commit details
    Browse the repository at this point in the history
Loading