Re: [DISCUSS] ArrayBuilders with mutable type

2019-08-23 Thread Sutou Kouhei
r.build([-1, 2, 128]) -> Arrow::Int16Array Thanks, -- kou In "Re: [DISCUSS] ArrayBuilders with mutable type" on Mon, 19 Aug 2019 10:16:15 -0400, Ben Kietzman wrote: > Thanks for responding. > > I can certainly add VisitBuilder/VisitBuilderInline for ArrayBuilder, but

Re: [DISCUSS] ArrayBuilders with mutable type

2019-08-20 Thread Ben Kietzman
By "much more expensive", I mean that currently ArrayBuilder::type() costs exactly as much as incrementing the reference count of ArrayBuilder::type_. If it were virtual then a builder of struct_({field(child_name, child_type)...}) incurs a virtual call for the struct builder + sizeof...(child_type

Re: [DISCUSS] ArrayBuilders with mutable type

2019-08-19 Thread Antoine Pitrou
If it becomes much more expensive then calling it `type()` (rather than e.g. GetCurrentType()) is a bit misleading. Regards Antoine. Le 19/08/2019 à 16:27, Wes McKinney a écrit : > On Mon, Aug 19, 2019 at 9:16 AM Ben Kietzman wrote: >> >> Thanks for responding. >> >> I can certainly add Visi

Re: [DISCUSS] ArrayBuilders with mutable type

2019-08-19 Thread Wes McKinney
On Mon, Aug 19, 2019 at 9:16 AM Ben Kietzman wrote: > > Thanks for responding. > > I can certainly add VisitBuilder/VisitBuilderInline for ArrayBuilder, but > there's a slight difficulty: some types don't have a single concrete > builder class. For example, the builders of dictionary arrays are te

Re: [DISCUSS] ArrayBuilders with mutable type

2019-08-19 Thread Francois Saint-Jacques
Indeed, I'd expect the `type()` method to not be called in the hot path. François On Mon, Aug 19, 2019 at 10:17 AM Wes McKinney wrote: > > hi Ben, > > On this possibility > > - Make ArrayBuilder::type() virtual. This will be much more expensive for > nested builders and for applications which ne

Re: [DISCUSS] ArrayBuilders with mutable type

2019-08-19 Thread Wes McKinney
hi Ben, On this possibility - Make ArrayBuilder::type() virtual. This will be much more expensive for nested builders and for applications which need to branch on ArrayBuilder::type()->id() ArrayBuilder::type_id() should be provided as well. Could you explain what would be a situation where thes

Re: [DISCUSS] ArrayBuilders with mutable type

2019-08-19 Thread Ben Kietzman
Thanks for responding. I can certainly add VisitBuilder/VisitBuilderInline for ArrayBuilder, but there's a slight difficulty: some types don't have a single concrete builder class. For example, the builders of dictionary arrays are templated on the encoded type and also on an index builder, which

Re: [DISCUSS] ArrayBuilders with mutable type

2019-08-18 Thread Sutou Kouhei
Hi, Thanks for working of this. This fix is very happy for Arrow GLib. Arrow GLib wants array builder's type ID to convert C++ object to GLib object. Here is a JIRA issue for this use case: https://issues.apache.org/jira/browse/ARROW-5355 In Arrow GLib's use case, ArrayBuilder::type_id() is o