-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a bunch of unnecessary copies in Var/List operations. List operations that were taking references and then cloning, are now moving the value. Changed mutating operations on Lists to attempt to be CoW; if there's only one reference, they will mutate in-place on it. Substantial improvement in list append performance in the vm_bench. Stack-allocate the BitArray storage, speeds up some local-variable set/get ops. But probably blows the cache line for DB benches, so move the uses there into boxes. Increase the # of ticks used in the vm benches to reduce the measurement impact of setup/dispatch. Optimize the VM opcode exec loop by cutting out the middle-man in the "exec state" and reference the top of the activation stack directly.
- Loading branch information
Showing
28 changed files
with
508 additions
and
456 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.