benibus opened a new pull request, #14100:
URL: https://github.com/apache/arrow/pull/14100

   Addresses [ARROW-4709](https://issues.apache.org/jira/browse/ARROW-4709).
   
   Replaces  `RawArrayBuilder<Kind::kObject>`'s vector of field builders with a 
vector of structs containing the builder and name as a `string_view`.  This 
makes field name indexing random access, enabling checks for ordered fields 
before hitting the hash map.
   
   Added benefits:
   - Removes the expensive `unordered_map` -> `vector` transform in 
`RawArrayBuilder::Finish`
   - Key names passed to `HandlerBase::SetFieldBuilder` don't need to be 
converted to `std::string` unless a map lookup is necessary
   
   The prediction logic isn't particularly advanced... more could be done to 
detect worst-case input and skip to the hash map for subsequent keys. Might be 
worth it, but I'd need to add benchmarks.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to