the call to builder.get_dataset() is not cached--this can be quite costly for memory as we are concatinating split datasets and building analysis datasets with build() and not caching the result, forcing each thread to build their respective datasets repeatedly
the call to builder.get_dataset() is not cached--this can be quite costly for memory as we are concatinating split datasets and building analysis datasets with build() and not caching the result, forcing each thread to build their respective datasets repeatedly