| commit | 1616a7fa5fe23b54fee0cc3dd6d0bd48abc19914 | [log] [tgz] |
|---|---|---|
| author | Artyom Pervukhin <artyom.pervukhin@gmail.com> | Tue Feb 06 14:09:14 2024 +0100 |
| committer | Gopher Robot <gobot@golang.org> | Wed Jun 04 12:36:50 2025 -0700 |
| tree | c5e69e3b4e9704b1bcaac234c99d4eea538b1b50 | |
| parent | 0c50ed881d02b171df1325a8b7f5fa7c8c8fbb6f [diff] |
rate: skip time.Now call in Sometimes.Do unless necessary
Don't update Sometimes.last if Interval is not configured.
goos: darwin
goarch: arm64
pkg: golang.org/x/time/rate
│ /tmp/before.txt │ /tmp/after.txt │
│ sec/op │ sec/op vs base │
Sometimes/no-interval-8 14.81n ± 0% 11.96n ± 0% -19.25% (p=0.000 n=10)
Sometimes/with-interval-8 27.30n ± 2% 27.57n ± 2% ~ (p=0.780 n=10)
geomean 20.10n 18.15n -9.70%
goos: linux
goarch: arm64
pkg: golang.org/x/time/rate
│ /tmp/before-rpi.txt │ /tmp/after-rpi.txt │
│ sec/op │ sec/op vs base │
Sometimes/no-interval-4 89.72n ± 4% 77.03n ± 2% -14.15% (p=0.000 n=10)
Sometimes/with-interval-4 147.1n ± 0% 147.8n ± 3% +0.48% (p=0.005 n=10)
geomean 114.9n 106.7n -7.12%
Change-Id: Ie4a064625432b9628a1cc5686eca9f0b3b90fb7b
Reviewed-on: https://go-review.googlesource.com/c/time/+/561956
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Sean Liao <sean@liao.dev>
Reviewed-by: Sean Liao <sean@liao.dev>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
This repository provides supplementary Go time packages.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/time.
The main issue tracker for the time repository is located at https://go.dev/issues. Prefix your issue with “x/time:” in the subject line, so it is easy to find.