Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
93414: docs: update some paper links r=erikgrinaker a=tbg The previous links weren't world-readable. Epic: None Release note: None 93496: .github: update CODEOWNERS r=erikgrinaker a=tbg We've had the Replication team for a while and it's about time it started formally owning some files. I arrived at these updates by going through ``` go run ./pkg/cmd/whoownsit --walk ./pkg/kv/kvserver/ ``` I then noticed Github's validation of the CODEOWNERs file failed, which inspired the subsequent commits. They introduce a `#!` syntax such that we can selectively hide teams from Github. cc `@dt` and `@nickvigilante,` the `@cockroachdb/tenant-streaming` and `@cockroachdb/docs-infra-prs` need the repo added to them so that Github accepts them. I worked around that for now by using the newly introduced `#!` but the teams won't get PR pings. Epic: none Release note: None 93743: opt: reduce allocations in props.histogramIter r=mgartner a=mgartner This commit reduces allocations in props.histogramIter by delaying datum allocations for bucket bounds until absolutely necessary. Instead, we prefer using the upper bound of the previous bucket as an exclusive lower bound of the current bucket because no datum allocation is necessary. This significantly reduces the number allocations, especially when filtering a histogram by a span that includes many buckets. It reduces the number of bytes allocated, especially when the histogram bounds are larger values, such as strings larger than several bytes. The benefits can be observed in one of the optimizer micro-benchmarks: ``` name old time/op new time/op delta Phases/single-col-histogram-range/Simple/Parse-16 13.1µs ±19% 10.5µs ± 2% -19.66% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/OptBuildNoNorm-16 95.5µs ± 3% 77.4µs ±36% ~ (p=0.190 n=4+5) Phases/single-col-histogram-range/Simple/OptBuildNorm-16 144µs ± 5% 108µs ± 3% -24.76% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/Explore-16 176µs ±17% 114µs ± 2% -34.93% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/ExecBuild-16 161µs ± 2% 121µs ± 1% -24.61% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/AssignPlaceholdersNoNorm-16 56.2µs ± 2% 41.8µs ± 5% -25.69% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/AssignPlaceholdersNorm-16 55.8µs ± 3% 42.1µs ± 3% -24.53% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/Explore-16 65.0µs ± 8% 50.5µs ± 5% -22.24% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/ExecBuild-16 73.0µs ± 3% 57.4µs ± 7% -21.48% (p=0.008 n=5+5) name old alloc/op new alloc/op delta Phases/single-col-histogram-range/Simple/Parse-16 3.25kB ± 0% 3.25kB ± 0% ~ (all equal) Phases/single-col-histogram-range/Simple/OptBuildNoNorm-16 33.5kB ± 0% 17.9kB ± 0% -46.52% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/OptBuildNorm-16 57.4kB ± 0% 26.2kB ± 0% -54.37% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/Explore-16 60.2kB ± 0% 29.0kB ± 0% -51.81% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/ExecBuild-16 61.7kB ± 0% 30.5kB ± 0% -50.56% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/AssignPlaceholdersNoNorm-16 26.0kB ± 0% 10.5kB ± 0% -59.83% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/AssignPlaceholdersNorm-16 26.0kB ± 0% 10.5kB ± 0% -59.83% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/Explore-16 28.3kB ± 0% 12.7kB ± 0% -55.07% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/ExecBuild-16 29.8kB ± 0% 14.2kB ± 0% -52.32% (p=0.008 n=5+5) name old allocs/op new allocs/op delta Phases/single-col-histogram-range/Simple/Parse-16 20.0 ± 0% 20.0 ± 0% ~ (all equal) Phases/single-col-histogram-range/Simple/OptBuildNoNorm-16 608 ± 0% 282 ± 0% -53.62% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/OptBuildNorm-16 1.15k ± 0% 0.50k ± 0% -56.55% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/Explore-16 1.16k ± 0% 0.51k ± 0% -56.06% (p=0.008 n=5+5) Phases/single-col-histogram-range/Simple/ExecBuild-16 1.17k ± 0% 0.52k ± 0% -55.63% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/AssignPlaceholdersNoNorm-16 564 ± 0% 238 ± 0% -57.80% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/AssignPlaceholdersNorm-16 564 ± 0% 238 ± 0% -57.80% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/Explore-16 573 ± 0% 247 ± 0% -56.89% (p=0.008 n=5+5) Phases/single-col-histogram-range/Prepared/ExecBuild-16 582 ± 0% 256 ± 0% -56.01% (p=0.008 n=5+5) ``` Fixes #89982 Epic: None Release note: None 93785: kvserver: revamp raft proto test r=erikgrinaker a=tbg We previously had this setup where we put an interceptor into `protoutil.Marshal`, ran all of the `kvserver` tests (or actually just whichever ones were invoked... since you could run with filters or just be a bazel shard), and collected the stacks seen for `protoutil.Marshal` and the message types for which we saw them. We then attempted to make sure that the set of protos that was marshaled below raft (though the definition of "below raft" was fuzzy; the code was really only looking at command application) was special in that any changes to the marshaling would cause a test failure that would have to be "signed off on" separately by updating the fixtures. This was all too clever, and too magical. It also had a real downside: by injecting its magic the package tests, it also slowed them down, and in particular it would mess with benchmark results: reflection and extra allocations can really skew the picture (which is what prompted this commit). This commit rips out the existing meta test and replaces it with a vanilla Go test that keeps an explicit list of protos that we alert on should their encoding change. Thanks to `echotest`, it's now easy to regenerate the fixtures if needed. Epic: none Release note: None 93802: bazci: ignore nil `testResult` r=healthy-pod a=rickystewart Closes #93656. Release note: None Epic: None Co-authored-by: Tobias Grieger <[email protected]> Co-authored-by: Marcus Gartner <[email protected]> Co-authored-by: Ricky Stewart <[email protected]>
- Loading branch information