Commits

Brian Hulette authored 75b31660819
ARROW-4523,ARROW-4524: [JS] Add row proxy generation benchmark, improve performance It seems that using `Object.create` in the `bind` method slows down proxy generation substantially. I separated the `Row` and `RowProxyGenerator` concepts - now the generator creates a prototype based on `Row` and the parent vector when it is created, and constructs instances based on that prototype repeatedly in `bind`. This change improved the included benchmark from 1,114.78 ms to 154.96 ms on my laptop (Intel i5-7200U). Author: Brian Hulette <hulettbh@gmail.com> Closes #3601 from TheNeuralBit/proxy-bench and squashes the following commits: 24425452 <Brian Hulette> Remove inner class, don't re-define columns 7bb6e4f2 <Brian Hulette> Update comparator, switch to Symbols for internal variables in Row 4079439e <Brian Hulette> linter fixes da4d97c2 <Brian Hulette> Switch back to Object.create with no extra property descriptor 8a5d1629 <Brian Hulette> Improve Row proxy performance fb7a0f04 <Brian Hulette> add row proxy benchmark