Hello! I have a side project I tinker with where I run automated benchmarks on roblox luau snippets (currently mostly low-level engine APIs) in order to find interesting optimization techniques for developers. If that sounds interesting to you, I also created an interactive dashboard for people to play with using the data - check it out here! Most of the stuff I’ve found so far is in the 30-40% improvement zone - nice, but not exactly a bug. That is - until I benchmarked BrickColor.new().
Using BrickColor.new() can take over 10x longer than Color3.new(), which feels very unintuitive as it’s an inferior datatype in most ways. However it’s used in various instance properties to this day. The most notable one being SelectionBox and SelectionSphere, which I and others often use for debugging and selection UX mechanics - notably, systems that frequently redraw each frame. When an API like this takes longer than a millisecond, if you change just a few colors in a single frame you’re dropping below 60 fps on the CPU side.
This was measured with 50 sequential runs of the luau execution open cloud API. The value was acquired by calling the method 50,000 with the same parameters across 5,000 different parameters. It has a surprisingly large standard deviation, and the actual benchmark distribution seems to imply the typical call taking around 0.5ms, with some lagging afterwards for unknown reasons.
I don’t have data published for running this API on a non luau-execuction server device, but I can verify from my own experience running the benchmark in dev mode on my local machine had it lagging far more than the others.
Let me know if you have any questions, thank you!

