-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
dev: replacement for scripts/bench #80407
Labels
A-build-system
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
T-dev-inf
Comments
jordanlewis
added
the
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
label
Apr 22, 2022
craig bot
pushed a commit
that referenced
this issue
Aug 8, 2022
83527: sqlproxyccl: support pgwire cancel protocol r=jeffswenson,jaylim-crl a=rafiss See individual commits. This implements the RFC here: https://github.com/cockroachdb/cockroach/blob/969bcf747a9f87f5231a043c9833c51d9979a549/docs/RFCS/20220202_pgwire_compatible_cancel.md 84728: ttl: improve row-level TTL performance using DistSQL r=rafiss a=ecwall fixes #76914 Release note (performance improvement): The row-level TTL job has been modified to distribute work using DistSQL. This usually results in the leaseholder nodes managing deleting of the spans they own. 85080: cluster-ui: add sql api request wrapper and clusterLocks request r=xinhaoz a=xinhaoz This commit allows DB Console to use the SQL over HTTP API from `/api/v2/sql/`. A new fetch wrapper providing the custom header necessary for the API and using content type JSON has been added. The clusterLocksApi components added in this commit use the above SQL api functions to query from the `crdb_internal.cluster_locks` table. Release note: None 85684: colexec: reorder some fields to reduce memory footprint r=yuzefovich a=yuzefovich This commit applies some of the fixes found by the `fieldalignment` tool on the colexec packages which reorder some fields in the structs so that the memory footprint is reduced. Release note: None 85697: kvcoord: optimize usages of BatchRequest.IsReverse r=yuzefovich a=yuzefovich This commit audits all places where `BatchRequest.IsReverse` is called and ensures that we call that only when necessary. In particular, it avoids the call altogether when a request needs to be resumed as well as when verifying the batch initially when key and / or bytes limits are present. Release note: None 85708: storage: don't synthesize MVCC point tombstones below point keys r=jbowens a=erikgrinaker This patch changes `pointSynthesizingIter` (and by extension MVCC scans and gets) to not synthesize MVCC point tombstones below existing point keys, only above them. Point tombstones are still synthesized at the start bound of all MVCC range tombstones regardless. This patch only focuses on the behavioral change, and is not concerned with performance. A later patch will address performance optimizations. Even so, this can significantly improve `MVCCScan` performance with many range keys: ``` MVCCScan_Pebble/rows=10000/versions=1/valueSize=64/numRangeKeys=0-24 2.76ms ± 1% 2.78ms ± 2% ~ (p=0.274 n=8+10) MVCCScan_Pebble/rows=10000/versions=1/valueSize=64/numRangeKeys=1-24 6.34ms ± 1% 5.72ms ± 1% -9.80% (p=0.000 n=10+10) MVCCScan_Pebble/rows=10000/versions=1/valueSize=64/numRangeKeys=100-24 60.1ms ± 7% 23.6ms ± 7% -60.72% (p=0.000 n=10+10) MVCCGet_Pebble/batch=true/versions=1/valueSize=8/numRangeKeys=0-24 2.73µs ± 1% 2.72µs ± 1% ~ (p=0.268 n=9+10) MVCCGet_Pebble/batch=true/versions=1/valueSize=8/numRangeKeys=1-24 5.40µs ± 1% 5.46µs ± 1% +1.18% (p=0.001 n=10+10) MVCCGet_Pebble/batch=true/versions=1/valueSize=8/numRangeKeys=100-24 171µs ± 1% 170µs ± 1% ~ (p=0.247 n=10+10) MVCCGet_Pebble/batch=true/versions=10/valueSize=8/numRangeKeys=0-24 3.87µs ± 1% 3.85µs ± 0% -0.58% (p=0.030 n=10+9) MVCCGet_Pebble/batch=true/versions=10/valueSize=8/numRangeKeys=1-24 7.11µs ± 1% 7.24µs ± 1% +1.83% (p=0.000 n=9+10) MVCCGet_Pebble/batch=true/versions=10/valueSize=8/numRangeKeys=100-24 179µs ± 1% 178µs ± 1% ~ (p=0.063 n=10+10) MVCCGet_Pebble/batch=true/versions=100/valueSize=8/numRangeKeys=0-24 10.4µs ± 5% 10.0µs ± 3% -3.96% (p=0.013 n=10+9) MVCCGet_Pebble/batch=true/versions=100/valueSize=8/numRangeKeys=1-24 15.9µs ± 3% 16.2µs ± 3% +2.11% (p=0.007 n=10+10) MVCCGet_Pebble/batch=true/versions=100/valueSize=8/numRangeKeys=100-24 222µs ± 1% 220µs ± 2% ~ (p=0.063 n=10+10) ``` Resolves #83899. Release note: None 85713: storage: add `MVCCRangeKeyStack.CloneInto()` r=jbowens a=erikgrinaker This patch adds a `CloneInto()` method for MVCC range key stacks, which will reuse the allocations of the given stack. An alternative approach was also considered that would use a single allocation for all byte slices, but in the vast majority of cases range keys will have no values, and so we'll typically only make two allocations anyway. This can be reconsidered later. Callers haven't been updated to make use of this yet. A pass will be made later, which will also apply various other MVCC range key optimizations. ``` name time/op MVCCRangeKeyStack_Clone/keySize=16/numVersions=1/withValues=0/Clone-24 123ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=1/withValues=0/CloneInto-24 16.7ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=1/withValues=1/Clone-24 149ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=1/withValues=1/CloneInto-24 17.2ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=3/withValues=0/Clone-24 169ns ± 1% MVCCRangeKeyStack_Clone/keySize=16/numVersions=3/withValues=0/CloneInto-24 27.5ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=3/withValues=1/Clone-24 202ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=3/withValues=1/CloneInto-24 27.9ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=10/withValues=0/Clone-24 291ns ± 1% MVCCRangeKeyStack_Clone/keySize=16/numVersions=10/withValues=0/CloneInto-24 64.8ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=10/withValues=1/Clone-24 327ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=10/withValues=1/CloneInto-24 64.5ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=100/withValues=0/Clone-24 1.94µs ± 1% MVCCRangeKeyStack_Clone/keySize=16/numVersions=100/withValues=0/CloneInto-24 544ns ± 0% MVCCRangeKeyStack_Clone/keySize=16/numVersions=100/withValues=1/Clone-24 2.01µs ± 1% MVCCRangeKeyStack_Clone/keySize=16/numVersions=100/withValues=1/CloneInto-24 551ns ± 0% ``` Resolves #85381. Release note: None 85724: scripts: update benchmarking script to use `dev` r=irfansharif a=irfansharif Fixes #80407. Usage: BENCHES=BenchmarkTracing/1node/scan/trace=off \ PKG=./pkg/bench \ scripts/bench HEAD HEAD~1 Invokes the following underneath the hood: dev bench ./pkg/bench --timeout=5m \ --filter=BenchmarkTracing/1node/scan/trace=off --count=10 \ --bench-mem -v --ignore-cache Release note: None 85742: sql/randgen: avoid invalid inverted indexes in CREATE TABLE r=fqazi a=fqazi Previously, the create table made via the randgen component could create invalid CREATE TABLE statements where the last columns of an inverted index were descending. This could lead to unexpected failures in certain workloads, which expected valid statements from this components. To address this, this patch stops randgen from generating CREATE table statements with invalid inverted indexes. Release note: None Co-authored-by: Rafi Shamim <[email protected]> Co-authored-by: Evan Wall <[email protected]> Co-authored-by: Xin Hao Zhang <[email protected]> Co-authored-by: Yahor Yuzefovich <[email protected]> Co-authored-by: Erik Grinaker <[email protected]> Co-authored-by: irfan sharif <[email protected]> Co-authored-by: Faizan Qazi <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-build-system
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
T-dev-inf
scripts/bench
is a very nice wrapper that permits diffing a benchmark between two branches or SHAs.Dev should support this natively, or at least, there should be a scripts/bench update or clone that uses dev instead of make.
Epic CRDB-8349
The text was updated successfully, but these errors were encountered: