static std::map< int, std::vector< std::pair< std::string_view, std::string_view > > > partitioning( const std::vector< std::string > &keys, const std::vector< std::string > &values ) {
std::map< int, std::vector< std::pair< std::string_view, std::string_view > > > result;
for( unsigned idx = 0; idx < keys.size( ); ++idx ) {
int hash = keyHash( keys[idx] );
result[hash].emplace_back( keys[idx], values[idx] );
}
return result;
}