Small demo of running a query in parallel and syncing back to Jecs.
What's the current performance of parallel vs serial (as of 19-07-2025)?
- Best Case
- This benchmark is very synthetic, and doesn't represent real world use!
- 10000 entities, each raycasting every step (heavy work)
- Parallel: 5.6 ms
- Serial: 14.7 ms
- Worst Case
- This benchmark is very synthetic, and doesn't represent real world use!
- 100000 entities, updating a single field (very light work)
- Parallel: 19.7ms
- Serial: 18.5ms
There's a lot of different CLI's tools used, consider using Rokit to install them.
- Clone repository
- Install toolchain using
rokit install - Get Jecs with wally
wally install - Run watch with Lune
lune run .\scripts\watch - Connect with Rojo in a Roblox Studio
Darklua is needed to transform string required for now™.
You can optionally run wally-package-types.exe --sourcemap sourcemap.json .\Packages\ to generate types.
You can play with the PARALLEL flag and number of WORKERS in Client.client.luau.
This is a certified demo and true programmer project. Join the discussion at the Roblox OSS Discord in this thread.
This project is licensed under the MIT License - see the LICENSE file for details.
