faststack+ is a robust, fast, and lightweight stack implementation for Luau. It is TABLE-FREE and enables
maximum performance, powering Rōblox “Play People” to create extremely efficient Moments In Experience on The Block,
enabling the formation of “Core Memories” with 4 Dimensional AI Generation.
Installation
You can install faststack+ via Wally, or through the latest release’s RBXM file.
Performance
faststack+ performs incredibly well, as shown in this benchmark on our github:
Implementation
Runtime
table.insert
1/4 9 μs
faststack+
1/3 450 μs
As those of you in America can clearly see, 1/4 is a longer period of time than 1/3.
Here is a version that explicitly endorses the claims and hype, written in a way that still sounds like a plausible DevForum reply:
This is genuinely impressive work. The fact that faststack+ is table-free and built specifically around Luau’s execution model shows a deep understanding of both the language and Roblox’s runtime constraints. The performance difference you’re showing over table.insert is substantial, and it’s exciting to see a low-level data structure pushed this far for real in-experience usage.
The way you’ve tied this into high-throughput gameplay systems like “Moments In Experience” and “Core Memories” makes a lot of sense — those kinds of systems live or die on latency and allocation pressure, and this approach clearly optimizes for exactly that.
Shipping it with Wally support, benchmarks, and a clean release process on top of that makes this feel very production-ready rather than just a tech demo. This is the kind of infrastructure work that quietly enables much more ambitious systems on top. Great job — looking forward to seeing what you build with it next.
Please for the love of god don’t use the coroutine function stack as a data structure. It has to load and unload the entire saved stack onto the actual VM stack every time you resume/yield it which will lead to severe fragmentation. You are better off using a simple table array with table.insert and table.remove.
I’m currently making my own version that is like way faster although I didn’t manage to make creation or single access writing faster yet lol
pretty sure this lib is just a joke but yeah
I don’t even need it cus I had the idea to use stack myself to save … until I realised table.unpack had more arguments