summaryrefslogtreecommitdiff
path: root/benchmark/vm_symbol_block_pass.rb
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2022-08-26 14:02:51 -0400
committerTakashi Kokubun <takashikkbn@gmail.com>2022-08-29 09:09:41 -0700
commit46007b88af82d6ff22fc01edb7c74922dfa5c68a (patch)
tree342e6182f62573a1b6ee8b89017559cea7432dd3 /benchmark/vm_symbol_block_pass.rb
parent29e0713a1272cb63f1e3cebfab85dec2424ead0f (diff)
downloadruby-46007b88af82d6ff22fc01edb7c74922dfa5c68a.tar.gz
A64: Only clear icache when writing out new code (https://github.com/Shopify/ruby/pull/442)
Previously we cleared the cache for all the code in the system when we flip memory protection, which was prohibitively expensive since the operation is not constant time. Instead, only clear the cache for the memory region of newly written code when we write out new code. This brings the runtime for the 30k_if_else test down to about 6 seconds from the previous 45 seconds on my laptop.
Diffstat (limited to 'benchmark/vm_symbol_block_pass.rb')
0 files changed, 0 insertions, 0 deletions