mirror of
https://github.com/luau-lang/luau.git
synced 2024-11-15 06:15:44 +08:00
aafea36235
Previous benchmark require fix wasn't actually working correctly for the old style require (or running in Lua).
35 lines
1.1 KiB
Lua
35 lines
1.1 KiB
Lua
local function prequire(name) local success, result = pcall(require, name); return if success then result else nil end
|
|
local bench = script and require(script.Parent.bench_support) or prequire("bench_support") or require("../bench_support")
|
|
|
|
local samples = 100_000
|
|
|
|
-- create two 16-bit stereo pcm audio buffers
|
|
local ch1 = buffer.create(samples * 2 * 2)
|
|
local ch2 = buffer.create(samples * 2 * 2)
|
|
|
|
-- just init with random data
|
|
for i = 0, samples * 2 - 1 do
|
|
buffer.writei16(ch1, i * 2, math.random(-32768, 32767))
|
|
buffer.writei16(ch2, i * 2, math.random(-32768, 32767))
|
|
end
|
|
|
|
function test()
|
|
local mix = buffer.create(samples * 2 * 2)
|
|
|
|
for i = 0, samples - 1 do
|
|
local s1l = buffer.readi16(ch1, i * 4)
|
|
local s1r = buffer.readi16(ch1, i * 4 + 2)
|
|
|
|
local s2l = buffer.readi16(ch2, i * 4)
|
|
local s2r = buffer.readi16(ch2, i * 4 + 2)
|
|
|
|
local combinedl = s1l + s2l - s1l * s2l / 32768
|
|
local combinedr = s1r + s2r - s1r * s2r / 32768
|
|
|
|
buffer.writei16(mix, i * 4, combinedl)
|
|
buffer.writei16(mix, i * 4 + 2, combinedr)
|
|
end
|
|
end
|
|
|
|
bench.runCode(test, "pcmmix")
|