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