bevy/crates
James Liu 9dde99fb96
Cleanup the multithreaded executor (#12969)
# Objective
Improve the code quality of the multithreaded executor.

## Solution
 * Remove some unused variables.
 * Use `Mutex::get_mut` where applicable instead of locking.
* Use a `startup_systems` FixedBitset to pre-compute the starting
systems instead of building it bit-by-bit on startup.
* Instead of using `FixedBitset::clear` and `FixedBitset::union_with`,
use `FixedBitset::clone_from` instead, which does only a single copy and
will not allocate if the target bitset has a large enough allocation.
* Replace the `Mutex` around `Conditions` with `SyncUnsafeCell`, and add
a `Context::try_lock` that forces it to be synchronized fetched
alongside the executor lock.

This might produce minimal performance gains, but the focus here is on
the code quality improvements.
2024-04-16 02:37:19 +00:00
..
bevy_a11y Set the logo and favicon for all of Bevy's published crates (#12696) 2024-03-25 18:52:50 +00:00
bevy_animation fix find_current_keyframe panic (#12931) 2024-04-13 22:32:21 +00:00
bevy_app Optimize Event Updates (#12936) 2024-04-13 14:11:28 +00:00
bevy_asset Error info has been added to LoadState::Failed (#12709) 2024-04-04 14:04:27 +00:00
bevy_audio updated audio_source.rs documentation (#12765) 2024-03-28 19:10:09 +00:00
bevy_color Fix crates not building individually (#12948) 2024-04-14 00:06:03 +00:00
bevy_core Refactor App and SubApp internals for better separation (#9202) 2024-03-31 03:16:10 +00:00
bevy_core_pipeline Consolidate Render(Ui)Materials(2d) into RenderAssets (#12827) 2024-04-09 13:26:34 +00:00
bevy_derive Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_dev_tools Fix crates not building individually (#12948) 2024-04-14 00:06:03 +00:00
bevy_diagnostic Refactor App and SubApp internals for better separation (#9202) 2024-03-31 03:16:10 +00:00
bevy_dylib Set the logo and favicon for all of Bevy's published crates (#12696) 2024-03-25 18:52:50 +00:00
bevy_dynamic_plugin Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_ecs Cleanup the multithreaded executor (#12969) 2024-04-16 02:37:19 +00:00
bevy_ecs_compile_fail_tests Fix Ci failing over dead code in tests (#12623) 2024-03-21 18:08:47 +00:00
bevy_encase_derive Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_gilrs Forbid unsafe in most crates in the engine (#12684) 2024-03-27 03:30:08 +00:00
bevy_gizmos Add double end arrow to gizmos (#11890) 2024-04-16 01:34:22 +00:00
bevy_gltf Fix crates not building individually (#12948) 2024-04-14 00:06:03 +00:00
bevy_hierarchy fix bevy_hierarchy crate optional feature bevy_app (#12943) 2024-04-13 04:46:00 +00:00
bevy_input fix previous_position / previous_force being discarded too early (#12556) 2024-04-01 21:45:47 +00:00
bevy_internal fix shadow pass trace (#12977) 2024-04-15 15:55:39 +00:00
bevy_log Refactor App and SubApp internals for better separation (#9202) 2024-03-31 03:16:10 +00:00
bevy_macro_utils Clean up some low level dependencies (#12858) 2024-04-08 19:45:42 +00:00
bevy_macros_compile_fail_tests Fix Ci failing over dead code in tests (#12623) 2024-03-21 18:08:47 +00:00
bevy_math Random sampling of directions and quaternions (#12857) 2024-04-04 23:13:00 +00:00
bevy_mikktspace Enable clippy::ref_as_ptr (#12918) 2024-04-10 20:16:48 +00:00
bevy_pbr Implement alpha to coverage (A2C) support. (#12970) 2024-04-15 20:37:52 +00:00
bevy_ptr Document the lifetime requirement of byte_offset and byte_add (#12893) 2024-04-08 17:13:35 +00:00
bevy_reflect Fix some nightly Clippy lints (#12927) 2024-04-13 02:05:38 +00:00
bevy_reflect_compile_fail_tests Fix Ci failing over dead code in tests (#12623) 2024-03-21 18:08:47 +00:00
bevy_render Implement alpha to coverage (A2C) support. (#12970) 2024-04-15 20:37:52 +00:00
bevy_scene Clean up some low level dependencies (#12858) 2024-04-08 19:45:42 +00:00
bevy_sprite Normalization anchor for sprite slice in dimensions of this slice (#12769) 2024-04-16 01:36:47 +00:00
bevy_tasks Fix beta CI (#12913) 2024-04-09 17:33:59 +00:00
bevy_text Fix rendering of sprites, text, and meshlets after #12582. (#12945) 2024-04-13 14:15:00 +00:00
bevy_time Optimize Event Updates (#12936) 2024-04-13 14:11:28 +00:00
bevy_transform Remove redundant imports (#12817) 2024-04-01 19:59:08 +00:00
bevy_ui Divide the single VisibleEntities list into separate lists for 2D meshes, 3D meshes, lights, and UI elements, for performance. (#12582) 2024-04-11 20:33:20 +00:00
bevy_utils Cleanup the multithreaded executor (#12969) 2024-04-16 02:37:19 +00:00
bevy_window Move close_on_esc to bevy_dev_tools (#12855) 2024-04-03 01:29:06 +00:00
bevy_winit Fix beta CI (#12913) 2024-04-09 17:33:59 +00:00