• Dmitriy Vyukov's avatar
    sync: add fast path to Once · 93dde6b0
    Dmitriy Vyukov authored
    The implementation does not grab the lock,
    if Once is already initalized.
    Benchmark results on HP Z600 (2 x Xeon E5620, 8 HT cores, 2.40GHz)
    are as follows:
    benchmark                                        old ns/op    new ns/op    delta
    sync_test.BenchmarkOnce                             187.00        14.00  -92.51%
    sync_test.BenchmarkOnce-2                           909.00        21.40  -97.65%
    sync_test.BenchmarkOnce-4                          3684.00        20.90  -99.43%
    sync_test.BenchmarkOnce-8                          5987.00        23.00  -99.62%
    sync_test.BenchmarkOnce-16                         5051.00        21.60  -99.57%
    
    R=bradfitz, rsc
    CC=golang-dev
    https://golang.org/cl/4641066
    93dde6b0
Name
Last commit
Last update
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...