-
Notifications
You must be signed in to change notification settings - Fork 76
Closed
Description
Ideas:
-
meta$deduplicate_storage()
is fast.database$preprocess()
callsdata.table::frwite()
to deduplicate storage, which is slower. I hopetargets
can usemeta$deduplicate_storage()
instead. I'll have to look deeper and see if there are other reasons for this choice.
Not feasible to eliminate this bottleneck.self$ensure_meta()
has apparent bottlenecks in database$set_data()
and database$get_row()
.
-
active$end()
callstar_assert_objects_files(self$meta$store)
, which only needs to be enforced for targets that just reran. Each target's output can be checked separately after the target finishes. - Before the pipeline actually begins,
targets
lists all the files in_targets/objects/
and gets all their time stamps.What if instead we could cache a directory timestamp and only check a target's timestamp if needed?A directory's modification time stamp apparently doesn't change in a way that would be useful here. But we could only include targets mentioned in the metadata instead of listing the entire directory. At the very least, this would avoid a costlylist.files()
call.
This is slow, but it's most likely not feasible to speed up in pattern_begin_initial()
, especially pattern_insert_branches()
, is silently slow when resolving dynamic branch definitions.targets
because the sources of the bottlenecks are fundamental to dynamic branching.
Metadata
Metadata
Assignees
Labels
No labels