Skip to content

Commit 88f7653

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

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

content/posts/newsletter-011/index.md

+28
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)