From a7e212c09e69d36dc20fcc073f696ae500416085 Mon Sep 17 00:00:00 2001 From: Trashtalk217 Date: Thu, 19 Oct 2023 00:57:19 +0200 Subject: [PATCH] Update content/news/2023-10-21-bevy-0.12/index.md Co-authored-by: Alice Cecile --- content/news/2023-10-21-bevy-0.12/index.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/news/2023-10-21-bevy-0.12/index.md b/content/news/2023-10-21-bevy-0.12/index.md index 7b243dcb9b..dc55f4a227 100644 --- a/content/news/2023-10-21-bevy-0.12/index.md +++ b/content/news/2023-10-21-bevy-0.12/index.md @@ -67,7 +67,11 @@ Currently, exclusive systems and systems designed for system piping (with either Additionally, one-shot systems are always evaluated sequentially, rather than in parallel. While this reduces both complexity and overhead, this can be meaningfully slower than using a schedule with a parallel executor if you want to run a large number of heavy systems at once. -Registering and running systems is useful and allows for a great degree of control. However, if you _just_ want to run a system - sans registration - there's `RunSystemOnce`, a new trait that does just that. +Registering and running systems offers improved performance and correctness: you can have multiple copies of a single system, each with their own `Local` values and cached system state. +It also plays nice with asset-driven workflows: recording a mapping from a string to an identifier in a serialized callback is much nicer than trying to do so with Rust functions! + +However, when you're just prototyping or writing a unit test, it can be a real hassle: who wants all that boilerplate and indirection! +When those caveats don't bother you, just use the `World::run_system_once` method. ```rust use bevy::ecs::system::RunSystemOnce;