1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Increase SIZE_POOL_COUNT to 5

Having more size pools will allow us to allocate larger objects
through Variable Width Allocation.

I have attached some benchmark results below.

Discourse:
  On Discourse, we don't see much change in response times. We do see
  a small reduction in RSS.

  Branch RSS: 377.8 MB
  Master RSS: 396.3 MB

railsbench:
  On railsbench, we don't see a big change in RPS or p99 performance.
  We see a small increase in RSS.

  Branch RPS: 815.38
  Master RPS: 811.73

  Branch p99: 1.69 ms
  Master p99: 1.68 ms

  Branch RSS: 90.6 MB
  Master RSS: 89.4 MB

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

  Branch parse & render: 29.041 I/s
  Master parse & render: 29.211 I/s
This commit is contained in:
Peter Zhu 2022-05-04 09:05:22 -04:00
parent 00e5e827b1
commit a41fbc2c95
Notes: git 2022-05-09 21:45:50 +09:00
2 changed files with 2 additions and 2 deletions

View file

@ -131,7 +131,7 @@ enum ruby_rarray_flags {
* store array elements. It was a bad idea to expose this to them.
*/
#if USE_RVARGC
RARRAY_EMBED_LEN_MASK = RUBY_FL_USER8 | RUBY_FL_USER7 | RUBY_FL_USER6 |
RARRAY_EMBED_LEN_MASK = RUBY_FL_USER9 | RUBY_FL_USER8 | RUBY_FL_USER7 | RUBY_FL_USER6 |
RUBY_FL_USER5 | RUBY_FL_USER4 | RUBY_FL_USER3
#else
RARRAY_EMBED_LEN_MASK = RUBY_FL_USER4 | RUBY_FL_USER3

View file

@ -68,7 +68,7 @@ struct rb_objspace; /* in vm_core.h */
(VALUE)(b), __FILE__, __LINE__)
#if USE_RVARGC
# define SIZE_POOL_COUNT 4
# define SIZE_POOL_COUNT 5
#else
# define SIZE_POOL_COUNT 1
#endif