1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/misc
Peter Zhu c482ee4025 Make heap page sizes 64KiB by default
Commit dde164e968 decoupled incremental
marking from page sizes. This commit changes Ruby heap page sizes to
64KiB. Doing so will have several benefits:

1. We can use compaction on systems with 64KiB system page sizes (e.g.
   PowerPC).
2. Larger page sizes will allow Variable Width Allocation to increase
   slot sizes and embed larger objects.
3. Since commit 002fa28599, macOS has 64
   KiB pages. Making page sizes 64 KiB will bring these systems to
   parity.

I have attached some bechmark results below.

Discourse:
    On Discourse, we saw much better p99 performance (e.g. for "categories"
    it went from 214ms on master to 134ms on branch, for "home" it went
    from 265ms to 251ms). We don’t see much change in p60, p75, and p90
    performance. We also see a slight decrease in memory usage by 1.04x.

    Branch RSS: 354.9MB
    Master RSS: 368.2MB

railsbench:
    On rails bench, we don’t see a big change in RPS or p99
    performance. We don’t see a big difference in memory usage.

    Branch RPS: 826.27
    Master RPS: 824.85

    Branch p99: 1.67
    Master p99: 1.72

    Branch RSS: 88.72MB
    Master RSS: 88.48MB

liquid:
    We don’t see a significant change in liquid performance.

    Branch parse & render: 28.653 I/s
    Master parse & render: 28.563 i/s
2022-04-04 09:27:14 -04:00
..
expand_tabs.rb Promote net-smtp to the bundled gems 2021-05-27 14:42:11 +09:00
lldb_cruby.py Make heap page sizes 64KiB by default 2022-04-04 09:27:14 -04:00
lldb_disasm.py Fix up global name references in misc/lldb_disasm.py 2022-04-01 14:48:22 -04:00
lldb_yjit.py Add an lldb script to print YJIT comments 2021-10-20 18:19:37 -04:00
rb_optparse.bash [ruby/optparse] Add EditorConfig file 2021-04-28 11:56:15 +09:00
rb_optparse.zsh [ruby/optparse] Add EditorConfig file 2021-04-28 11:56:15 +09:00
README
ruby-style.el
test_lldb_cruby.rb
test_yjit_asm.sh YJIT: Bounds check every byte in the assembler 2021-12-03 20:02:25 -05:00
yjit_asm_tests.c YJIT: Bounds check every byte in the assembler 2021-12-03 20:02:25 -05:00

README             this file
rb_optparse.bash   bash completion script
rb_optparse.zsh    zsh completion script
ruby-style.el      Ruby's C/C++ mode style for emacs
lldb_cruby.py      LLDB port of debug utility
test_lldb_cruby.rb test file for LLDB port