Parallel lua limited to 8 threads on 32 thread CPU

I cant get parallel lua to utilize more than 8 threads of the client CPU, no matter how many actors there are it just divides it into 8 threads as shown in the micro profiler.

most devices probably have 4-8 threads anyways but its disappointing that a gaming rig wont be able to get extra performance in parallel lua for seemingly no reason.

In the attached Roblox file you can press play and wait 4 seconds for it to run parallel work, all the scripts are local scripts and are located in PlayerScripts.

ParallelLuaTest.rbxl (53.9 KB)

2 Likes

Hi i have same problem.
I made a game to test singleThreading and multiThreading and its same problem roblox is only using 8 threads of my 24 avaible??
image
image

Can’t tell you why the limit is 8 and not 3, are you in studio or in game?

Annoyingly, roblox is limiting the amount of threads that can be used for whatever reason…

Note the date that this thread was made. It was nerfed from 8 to 3 between this post being made and you responding.

Parallel Luau is the only way we can extract more performance out of the Roblox client due to valid security reasonings for Luau being interpreted only; and also having to come to terms with the fact that even if we do optimise for Parallel Luau, it wont stop react-lua’s scheduler eating into frametime reducing the client’s FPS down to 30 regarding parts of the Lua app that aren’t even visible to the player whilst they are in an experience.

I’ve tried pursuing staff about Parallel Luau’s worker limit in other threads only to be met with moderation deleting my post because I had nothing left to add to the topic and I had provided all necessary information to seek a response from staff, so all I could do was bump asking for a response.

Those same staff have been active taking care of other tickets, but for some reason or another, do not want to comment about Parallel Luau.

At this point I feel like they regret making Parallel Luau a feature and are only keeping it in the engine to maintain backwards compatibility with code that takes advantage of it, so what better way to kill any investment in said system than to limit it to 3 workers only?

I’ve invested so much into optimising my code to reduce code being executed in VM space, bridging to C++ whenever possible, and my code still isn’t fast enough for the purpose that I want to use it for.

3 Likes