Commit Graph

8 Commits (db/wait-timeout-utility)

Author SHA1 Message Date
Brandon Pfeifer e484c4d871
chore: upgrade Go to v1.19.3 (1.x) (#23941)
* chore: upgrade Go to 1.19.3

This re-runs ./generate.sh and ./checkfmt.sh to format and update
source code (this is primarily responsible for the huge diff.)

* fix: update tests to reflect sorting algorithm change
2022-11-28 12:15:47 -05:00
Jacob Marble 8f665ec2a7 fix(storage): simple8b passes checkptr (#15512)
* fix(simple8b): disable checkptr on batch decodes

* perf: improve performance of simple8b encoding

```
name                      old time/op    new time/op    delta
EncodeAll/1_bit-24          35.8µs ± 2%    35.8µs ± 2%     ~     (p=0.887 n=10+7)
EncodeAll/2_bits-24         35.7µs ± 4%    35.6µs ± 3%     ~     (p=0.684 n=10+10)
EncodeAll/3_bits-24         36.5µs ± 3%    36.4µs ± 4%     ~     (p=0.780 n=10+9)
EncodeAll/4_bits-24         36.4µs ± 3%    37.8µs ± 2%   +3.71%  (p=0.000 n=10+10)
EncodeAll/5_bits-24         38.0µs ± 3%    38.3µs ± 2%     ~     (p=0.280 n=10+10)
EncodeAll/6_bits-24         39.4µs ± 1%    38.5µs ± 2%   -2.43%  (p=0.001 n=10+9)
EncodeAll/7_bits-24         39.6µs ± 3%    38.9µs ± 3%   -1.83%  (p=0.029 n=10+10)
EncodeAll/8_bits-24         40.3µs ± 3%    40.5µs ± 4%     ~     (p=0.278 n=10+9)
EncodeAll/10_bits-24        42.6µs ± 3%    41.9µs ± 2%     ~     (p=0.075 n=10+10)
EncodeAll/12_bits-24        44.2µs ± 2%    42.8µs ± 2%   -3.11%  (p=0.000 n=10+10)
EncodeAll/15_bits-24        46.0µs ± 1%    46.1µs ± 3%     ~     (p=0.447 n=9+10)
EncodeAll/20_bits-24        51.4µs ± 2%    50.0µs ± 2%   -2.86%  (p=0.000 n=10+10)
EncodeAll/30_bits-24        60.6µs ± 1%    58.1µs ± 2%   -4.02%  (p=0.000 n=10+10)
EncodeAll/60_bits-24        90.2µs ± 2%    85.2µs ± 1%   -5.50%  (p=0.000 n=10+10)
EncodeAll/combination-24     782µs ± 3%     762µs ± 5%     ~     (p=0.063 n=10+10)
Encode-24                   3.08µs ± 2%    3.09µs ± 1%     ~     (p=0.656 n=9+8)
Encoder-24                  4.58µs ± 0%    4.40µs ± 1%   -4.04%  (p=0.000 n=8+8)

```
2019-11-22 07:39:44 -08:00
Ben Wells e9bada090f Fix misspelling identified by misspell 2019-02-03 20:27:43 +00:00
Stuart Carnie a4305ddb17 fix(simple8b): Fix incorrect encoding for a run of 119 or 239 1s
If 120th or 240th value is not a 1, k still passes the check in the
switch, causing the last value to be lost. If this value occurs at
the boundary of a block, the max time will be incorrect, resulting in
compaction failing to make forward progress.
2018-11-14 09:13:13 -07:00
Stuart Carnie e9531b7830 feat(encoding): Improve integer and simple8b encoding performance
simple8b EncodeAll improvements should

```
name                     old time/op  new time/op  delta
EncodeAll/1_bit-8        28.5µs ± 1%  28.6µs ± 1%     ~     (p=0.133 n=9+10)
EncodeAll/2_bits-8       28.9µs ± 2%  28.7µs ± 0%     ~     (p=0.068 n=10+8)
EncodeAll/3_bits-8       29.3µs ± 1%  28.8µs ± 0%   -1.70%  (p=0.000 n=10+10)
EncodeAll/4_bits-8       29.6µs ± 1%  29.1µs ± 1%   -1.85%  (p=0.000 n=10+10)
EncodeAll/5_bits-8       30.6µs ± 1%  29.8µs ± 2%   -2.70%  (p=0.000 n=10+10)
EncodeAll/6_bits-8       31.3µs ± 1%  30.0µs ± 1%   -4.08%  (p=0.000 n=9+9)
EncodeAll/7_bits-8       32.6µs ± 1%  30.8µs ± 0%   -5.49%  (p=0.000 n=9+9)
EncodeAll/8_bits-8       33.6µs ± 2%  31.0µs ± 1%   -7.77%  (p=0.000 n=10+9)
EncodeAll/10_bits-8      34.9µs ± 0%  31.9µs ± 2%   -8.55%  (p=0.000 n=9+10)
EncodeAll/12_bits-8      36.8µs ± 1%  32.6µs ± 1%  -11.35%  (p=0.000 n=9+10)
EncodeAll/15_bits-8      39.8µs ± 1%  34.1µs ± 2%  -14.40%  (p=0.000 n=10+10)
EncodeAll/20_bits-8      45.2µs ± 3%  36.2µs ± 1%  -19.97%  (p=0.000 n=10+9)
EncodeAll/30_bits-8      55.0µs ± 0%  40.9µs ± 1%  -25.62%  (p=0.000 n=9+9)
EncodeAll/60_bits-8      86.2µs ± 1%  55.2µs ± 1%  -35.92%  (p=0.000 n=10+10)
EncodeAll/combination-8   582µs ± 2%   502µs ± 1%  -13.80%  (p=0.000 n=9+9)
```

EncodeIntegers:

```
name                             old time/op    new time/op    delta
EncodeIntegers/1000_seq/batch-8    2.04µs ± 0%    1.50µs ± 1%  -26.22%  (p=0.008 n=5+5)
EncodeIntegers/1000_ran/batch-8    8.80µs ± 2%    6.10µs ± 0%  -30.73%  (p=0.008 n=5+5)
EncodeIntegers/1000_dup/batch-8    2.03µs ± 1%    1.50µs ± 1%  -26.04%  (p=0.008 n=5+5)
```

EncodeTimestamps (ran is improved due to simple8b improvements)

```
name                               old time/op    new time/op    delta
EncodeTimestamps/1000_seq/batch-8    2.64µs ± 1%    2.65µs ± 2%     ~     (p=0.310 n=5+5)
EncodeTimestamps/1000_ran/batch-8    64.0µs ± 1%    33.8µs ± 1%  -47.23%  (p=0.008 n=5+5)
EncodeTimestamps/1000_dup/batch-8    9.32µs ± 0%    9.28µs ± 1%     ~     (p=0.087 n=5+5)
```
2018-10-16 12:08:12 +01:00
Stuart Carnie 8008d394d4 chore(simple8b): Add more unit tests and benchmarks 2018-10-16 12:08:12 +01:00
Stuart Carnie 0841c51d93 pr(tsdb): Feedback items from PR review 2018-07-13 11:42:02 -07:00
Stuart Carnie 75e0bca597 chore(simple8b): Add simple 8b encoder / decoder
* includes additional APIs for batch decoding of byte slices to improve
  performance
* fix for `unpack120` that was decoding 240 values rather than 120
2018-07-13 11:42:02 -07:00