Skip to content

Gargafield/Parallel-Jecs

Repository files navigation

Parallel-Jecs

image of the roblox microprofiler showing lots of parallel work

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

Installation

There's a lot of different CLI's tools used, consider using Rokit to install them.

  1. Clone repository
  2. Install toolchain using rokit install
  3. Get Jecs with wally wally install
  4. Run watch with Lune lune run .\scripts\watch
  5. 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.

Usage

You can play with the PARALLEL flag and number of WORKERS in Client.client.luau.

Contributing

This is a certified demo and true programmer project. Join the discussion at the Roblox OSS Discord in this thread.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Small demo of running a query in parallel and syncing back to jecs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published