tomoyanonymous / mimium-rs

minimal musical medium- an infrastructural language for sound and music.
Mozilla Public License 2.0
9 stars 1 forks source link

Reduced redundunt copy on VM execution #69

Closed tomoyanonymous closed 1 month ago

tomoyanonymous commented 1 month ago

This PR just fixes redundunt copy of FuncProto for each execution of the instruction. It speeds up by 3~4 times faster.

Before

test tests::runtime::bench_multiosc5    ... bench:       5,278.38 ns/iter (+/- 122.15)
test tests::runtime::bench_multiosc7    ... bench:       7,475.57 ns/iter (+/- 109.41)
test tests::runtime::bench_multiosc10   ... bench:      10,529.47 ns/iter (+/- 817.75)
test tests::runtime::bench_multiosc15   ... bench:      15,996.40 ns/iter (+/- 196.44)

After

test tests::runtime::bench_multiosc5    ... bench:       1,817.26 ns/iter (+/- 49.40)
test tests::runtime::bench_multiosc7    ... bench:       2,532.11 ns/iter (+/- 56.27)
test tests::runtime::bench_multiosc10   ... bench:       3,595.64 ns/iter (+/- 78.15)
test tests::runtime::bench_multiosc15   ... bench:       5,383.82 ns/iter (+/- 1,191.92)