bevy/crates
Mike d95df29fc0 early return from multithreaded executor (#7521)
# Objective

- There is a small perf cost for starting the multithreaded executor.

## Solution

- We can skip that cost when there are zero systems in the schedule. Overall not a big perf boost unless there are a lot of empty schedules that are trying to run, but it is something.

Below is a tracy trace of the run_fixed_update_schedule for many_foxes which has zero systems in it. Yellow is main and red is this pr. The time difference between the peaks of the humps is around 15us.

![image](https://user-images.githubusercontent.com/2180432/216884536-f3af8f5e-6224-4d0f-8fbd-67b0beb90baf.png)
2023-02-06 20:50:08 +00:00
..
bevy_animation Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_app Rename schedule v3 to schedule (#7519) 2023-02-06 18:44:40 +00:00
bevy_asset Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_audio IOS, Android... same thing (#7493) 2023-02-06 18:08:49 +00:00
bevy_core Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_core_pipeline Migrate engine to Schedule v3 (#7267) 2023-02-06 02:04:50 +00:00
bevy_derive update winit to 0.28 (#7480) 2023-02-03 16:41:39 +00:00
bevy_diagnostic Rename schedule v3 to schedule (#7519) 2023-02-06 18:44:40 +00:00
bevy_dylib Rename dynamic feature (#7340) 2023-01-23 14:28:00 +00:00
bevy_dynamic_plugin Adapt path type of dynamically_load_plugin (#6734) 2022-12-05 23:39:43 +00:00
bevy_ecs early return from multithreaded executor (#7521) 2023-02-06 20:50:08 +00:00
bevy_ecs_compile_fail_tests Fix clippy lints and failed test with Rust 1.66 (#6945) 2022-12-15 18:05:15 +00:00
bevy_encase_derive add helper for macro to get either bevy::x or bevy_x depending on how it was imported (#7164) 2023-01-11 21:12:02 +00:00
bevy_gilrs Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_gltf enum Visibility component (#6320) 2022-12-25 00:39:29 +00:00
bevy_hierarchy Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_input Rename schedule v3 to schedule (#7519) 2023-02-06 18:44:40 +00:00
bevy_internal IOS, Android... same thing (#7493) 2023-02-06 18:08:49 +00:00
bevy_log Fix suppression of all console logs when trace_tracy is enabled (#6955) 2022-12-20 23:45:43 +00:00
bevy_macro_utils Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_math Improve code/comments for Ray::intersect_plane and its tests (#6823) 2022-12-05 22:49:06 +00:00
bevy_mikktspace Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_pbr Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_ptr Fix minor typos in code and docs (#7378) 2023-01-27 12:12:53 +00:00
bevy_reflect fix typo in bevy_reflect::impls::std GetTypeRegistration for vec like… (#7520) 2023-02-06 12:58:21 +00:00
bevy_reflect_compile_fail_tests Enable deriving Reflect on structs with generic types (#7364) 2023-01-28 00:12:06 +00:00
bevy_render put update_frusta::<Projection> in UpdateProjectionFrusta set (#7526) 2023-02-06 20:34:53 +00:00
bevy_scene Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_sprite Migrate engine to Schedule v3 (#7267) 2023-02-06 02:04:50 +00:00
bevy_tasks Migrate engine to Schedule v3 (#7267) 2023-02-06 02:04:50 +00:00
bevy_text Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_time Rename schedule v3 to schedule (#7519) 2023-02-06 18:44:40 +00:00
bevy_transform Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_ui Rename schedule v3 to schedule (#7519) 2023-02-06 18:44:40 +00:00
bevy_utils Migrate engine to Schedule v3 (#7267) 2023-02-06 02:04:50 +00:00
bevy_window Base Sets (#7466) 2023-02-06 03:10:08 +00:00
bevy_winit IOS, Android... same thing (#7493) 2023-02-06 18:08:49 +00:00