Commits

Wes McKinney authored 4df2a0bfa15
ARROW-1290: [C++] Double buffer size when exceeding capacity in arrow::BufferBuilder as in array builders Kind of an embarrassing oversight, but it's good that we caught it. In a test for incrementally building a BinaryArray, this yields about 4x speedup ``` Benchmark Time CPU Iterations --------------------------------------------------------------------------- BM_BuildBinaryArray/repeats:3 11892 us 11892 us 59 840.886MB/s BM_BuildBinaryArray/repeats:3 11903 us 11904 us 59 840.082MB/s BM_BuildBinaryArray/repeats:3 11909 us 11910 us 59 839.662MB/s BM_BuildBinaryArray/repeats:3_mean 11902 us 11902 us 59 840.21MB/s BM_BuildBinaryArray/repeats:3_stddev 7 us 7 us 0 520.137kB/s ``` before: ``` Benchmark Time CPU Iterations --------------------------------------------------------------------------- BM_BuildBinaryArray/repeats:3 45678 us 45571 us 15 219.439MB/s BM_BuildBinaryArray/repeats:3 45416 us 45209 us 15 221.197MB/s BM_BuildBinaryArray/repeats:3 45227 us 45122 us 15 221.619MB/s BM_BuildBinaryArray/repeats:3_mean 45440 us 45301 us 15 220.752MB/s BM_BuildBinaryArray/repeats:3_stddev 185 us 194 us 0 966.716kB/s ``` Author: Wes McKinney <wes.mckinney@twosigma.com> Closes #905 from wesm/ARROW-1290 and squashes the following commits: 59d4d9cd [Wes McKinney] Double buffer size when exceeding capacity in arrow::BufferBuilder, like in other array builder classes