This project is mirrored from https://github.com/cockroachdb/cockroach. Pull mirroring updated .
  1. 30 Jun, 2020 1 commit
    • Jordan Lewis's avatar
      colexec: use Get methods on native type slices · 49780f3f
      Jordan Lewis authored
      Also, add //gcassert:inline assertions on all Get methods but the
      DatumVec ones and the gcassert linter, to prove that all of these Get
      methods are inlined.
      
      Here are some benchmarks. I didn't run them all, because I believe that
      the guaranteed inlining proven by gcassert implies that any benchmark
      differences must be due to "binary layout" or other ghosts.
      
      ```
      Distinct/Ordered/hasNulls=false/newTupleProbability=0.010/rows=65536/cols=2/ordCols=2-24     468µs ± 0%     462µs ± 0%  -1.26%  (p=0.000 n=10+10)
      
      name                                                                                      old speed      new speed      delta
      Distinct/Ordered/hasNulls=false/newTupleProbability=0.010/rows=65536/cols=2/ordCols=2-24  2.24GB/s ± 0%  2.27GB/s ± 0%  +1.28%  (p=0.000 n=10+10)
      
      CastOp/useSel=true/hasNulls=true/int_to_float-24      5.18µs ± 2%    4.60µs ± 1%  -11.21%  (p=0.000 n=9+9)
      CastOp/useSel=true/hasNulls=false/int_to_float-24     1.06µs ± 7%    1.03µs ± 5%     ~     (p=0.101 n=10+10)
      CastOp/useSel=false/hasNulls=true/int_to_float-24     5.33µs ± 1%    5.47µs ± 2%   +2.53%  (p=0.000 n=9+10)
      CastOp/useSel=false/hasNulls=false/int_to_float-24    1.08µs ± 0%    1.08µs ± 0%     ~     (p=0.136 n=10+10)
      
      name                                                old speed      new speed      delta
      CastOp/useSel=true/hasNulls=true/int_to_float-24    1.58GB/s ± 2%  1.78GB/s ± 1%  +12.62%  (p=0.000 n=9+9)
      CastOp/useSel=true/hasNulls=false/int_to_float-24   7.73GB/s ± 7%  7.93GB/s ± 5%     ~     (p=0.089 n=10+10)
      CastOp/useSel=false/hasNulls=true/int_to_float-24   1.54GB/s ± 1%  1.50GB/s ± 2%   -2.46%  (p=0.000 n=9+10)
      CastOp/useSel=false/hasNulls=false/int_to_float-24  7.60GB/s ± 0%  7.59GB/s ± 0%     ~     (p=0.143 n=10+10)
      ```
      
      Release note: None
      49780f3f
  2. 26 Jun, 2020 1 commit
  3. 25 Jun, 2020 1 commit
    • Jordan Lewis's avatar
      colexec,coldata: check in generated code · 05cd2595
      Jordan Lewis authored
      The Makefile target for the .eg.go targets is a continued source of
      pain. Its dependency management is also very imperfect: it rebuilds all
      .eg.go files if any dependencies of execgen change. While this is
      technically required, since theoretically execgen's behavior could
      change if any of its Go dependencies do, in practice it's almost never
      necessary and very irritating when changing base packages.
      
      This commit checks in all .eg.go files. `make generate` will regenerate
      .eg.go files, so CI will fail if someone checks in a change that changes
      .eg.go files without also checking in the .eg.go changes.
      
      Release note: None
      05cd2595