bevy/crates/bevy_utils
re0312 0f27500e46
Improve par_iter and Parallel (#12904)
# Objective

- bevy usually use `Parallel::scope` to collect items from `par_iter`,
but `scope` will be called with every satifified items. it will cause a
lot of unnecessary lookup.

## Solution

- similar to Rayon ,we introduce `for_each_init` for `par_iter` which
only be invoked when spawn a task for a group of items.

---

## Changelog

- added  `for_each_init`

## Performance
`check_visibility `  in  `many_foxes ` 

![image](https://github.com/bevyengine/bevy/assets/45868716/030c41cf-0d2f-4a36-a071-35097d93e494)
 
~40% performance gain in `check_visibility`.

---------

Co-authored-by: James Liu <contact@jamessliu.com>
2024-04-23 12:05:34 +00:00
..
macros Add repository field to bevy_utils_proc_macros (#12808) 2024-03-31 09:58:16 +00:00
src Improve par_iter and Parallel (#12904) 2024-04-23 12:05:34 +00:00
Cargo.toml Make feature(doc_auto_cfg) work (#12642) 2024-03-23 02:22:52 +00:00
Readme.md add and fix shields in Readmes (#9993) 2023-10-15 00:52:31 +00:00

Bevy Utils

License Crates.io Downloads Docs Discord

A Collection of Utilities for the Bevy Engine.