From 28816e42b2ee5500ab0ea5ad88282693204bc170 Mon Sep 17 00:00:00 2001 From: Alexander Sepity Date: Wed, 1 Jul 2020 18:41:19 +0300 Subject: [PATCH 1/2] Newsletter 11: yaks --- content/posts/newsletter-011/index.md | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/content/posts/newsletter-011/index.md b/content/posts/newsletter-011/index.md index bef74d99e..bd6fc62f0 100644 --- a/content/posts/newsletter-011/index.md +++ b/content/posts/newsletter-011/index.md @@ -69,6 +69,34 @@ If needed, a section can be split into subsections with a "------" delimiter. ## Library & Tooling Updates +### [yaks] + +Minimalistic framework for automatic multithreading of [`hecs`] ECS library +using [Rayon] data-parallelism library. + +While the project itself started earlier this year, with this month's release +`yaks` gained an overhauled API, further leaning into the promise of +simplicity: + +* systems are any functions or closures of a specific signature, +* `Executor` is a container for one or more systems, +* system execution order can be defined when building an `Executor` +to create concurrent chains of systems, +* resources used by systems (any data that is not associated with an entity) +are now borrowed for the duration of execution, instead of being owned +by the framework. + +All items in the library are exhaustively documented, and the repository +contains a fully annotated example. + +Enabled-by-default `parallel` cargo feature can be disabled to force +everything in `yaks` to become single-threaded, which allows using code +written with the framework on platforms without threading - notably, web. + +[yaks]: https://crates.io/crates/yaks +[`hecs`]: https://crates.io/crates/hecs +[Rayon]: https://crates.io/crates/rayon + ## Popular Workgroup Issues in Github From e31efbd6bb239192a1a12e4eadbb91c2916ca0b0 Mon Sep 17 00:00:00 2001 From: Andrey Lesnikov Date: Fri, 3 Jul 2020 21:40:16 +0300 Subject: [PATCH 2/2] Newsletter 11: yaks: Style tweaks --- content/posts/newsletter-011/index.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/content/posts/newsletter-011/index.md b/content/posts/newsletter-011/index.md index bd6fc62f0..751228312 100644 --- a/content/posts/newsletter-011/index.md +++ b/content/posts/newsletter-011/index.md @@ -71,20 +71,20 @@ If needed, a section can be split into subsections with a "------" delimiter. ### [yaks] -Minimalistic framework for automatic multithreading of [`hecs`] ECS library -using [Rayon] data-parallelism library. +[yaks] is a minimalistic framework for automatic multithreading +of [`hecs`] ECS library using [Rayon] data-parallelism library. While the project itself started earlier this year, with this month's release `yaks` gained an overhauled API, further leaning into the promise of simplicity: -* systems are any functions or closures of a specific signature, -* `Executor` is a container for one or more systems, -* system execution order can be defined when building an `Executor` -to create concurrent chains of systems, -* resources used by systems (any data that is not associated with an entity) -are now borrowed for the duration of execution, instead of being owned -by the framework. +- systems are any functions or closures of a specific signature, +- `Executor` is a container for one or more systems, +- system execution order can be defined when building an `Executor` + to create concurrent chains of systems, +- resources used by systems (any data that is not associated with an entity) + are now borrowed for the duration of execution, instead of being owned + by the framework. All items in the library are exhaustively documented, and the repository contains a fully annotated example.