Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 88f7653

Browse filesBrowse files
Ratyszozkriff
andauthored
Newsletter 11: yaks (rust-gamedev#177)
* Newsletter 11: yaks * Newsletter 11: yaks: Style tweaks Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>
1 parent 249c1ae commit 88f7653
Copy full SHA for 88f7653

File tree

1 file changed

+28
-0
lines changed
Filter options

1 file changed

+28
-0
lines changed

‎content/posts/newsletter-011/index.md

Copy file name to clipboardExpand all lines: content/posts/newsletter-011/index.md
+28Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,34 @@ If needed, a section can be split into subsections with a "------" delimiter.
6969

7070
## Library & Tooling Updates
7171

72+
### [yaks]
73+
74+
[yaks] is a minimalistic framework for automatic multithreading
75+
of [`hecs`] ECS library using [Rayon] data-parallelism library.
76+
77+
While the project itself started earlier this year, with this month's release
78+
`yaks` gained an overhauled API, further leaning into the promise of
79+
simplicity:
80+
81+
- systems are any functions or closures of a specific signature,
82+
- `Executor` is a container for one or more systems,
83+
- system execution order can be defined when building an `Executor`
84+
to create concurrent chains of systems,
85+
- resources used by systems (any data that is not associated with an entity)
86+
are now borrowed for the duration of execution, instead of being owned
87+
by the framework.
88+
89+
All items in the library are exhaustively documented, and the repository
90+
contains a fully annotated example.
91+
92+
Enabled-by-default `parallel` cargo feature can be disabled to force
93+
everything in `yaks` to become single-threaded, which allows using code
94+
written with the framework on platforms without threading - notably, web.
95+
96+
[yaks]: https://crates.io/crates/yaks
97+
[`hecs`]: https://crates.io/crates/hecs
98+
[Rayon]: https://crates.io/crates/rayon
99+
72100
## Popular Workgroup Issues in Github
73101

74102
<!-- Up to 10 links to interesting issues -->

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.