commit 552c14b2d6b71939e95cfef0f6300721460a4939
parent 5c5400ae890826cab4efc1c7c280e36d2e03415f
Author: serge-sans-paille <sguelton@mozilla.com>
Date: Tue, 16 Dec 2025 15:20:48 +0000
Bug 2002955 - Avoid deepcopying task when we can r=jcristau,taskgraph-reviewers,ahal
This saves around 100ms during task graph creation on my setup.
Differential Revision: https://phabricator.services.mozilla.com/D274393
Diffstat:
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/taskcluster/gecko_taskgraph/transforms/test/chunk.py b/taskcluster/gecko_taskgraph/transforms/test/chunk.py
@@ -286,12 +286,12 @@ def split_chunks(config, tasks):
chunked_manifests[0].extend(
[m for m in manifests["skipped"] if not m.endswith(".list")]
)
-
+ last_chunk = task["chunks"]
for i in range(task["chunks"]):
this_chunk = i + 1
# copy the test and update with the chunk number
- chunked = deepcopy(task)
+ chunked = deepcopy(task) if this_chunk != last_chunk else task
chunked["this-chunk"] = this_chunk
if chunked_manifests is not None:
diff --git a/taskcluster/gecko_taskgraph/transforms/test/variant.py b/taskcluster/gecko_taskgraph/transforms/test/variant.py
@@ -124,7 +124,7 @@ def split_variants(config, tasks):
variants = remove_expired(variants, expired_variants)
if task.pop("run-without-variant"):
- taskv = deepcopy(task)
+ taskv = deepcopy(task) if variants else task
taskv["attributes"]["unittest_variant"] = None
yield taskv