summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2022-05-04 09:05:22 -0400
committerPeter Zhu <peter@peterzhu.ca>2022-05-09 08:45:24 -0400
commita41fbc2c95cc2f7ba9071aca091d8262a8f2cf60 (patch)
treea4c4a855fc70aab477e896389e27b5ef14063da6
parent00e5e827b19e3b385fdad0710de71d4402431318 (diff)
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
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/5885
-rw-r--r--include/ruby/internal/core/rarray.h2
-rw-r--r--internal/gc.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/include/ruby/internal/core/rarray.h b/include/ruby/internal/core/rarray.h
index d9e08839cb..ea37c8dfad 100644
--- a/include/ruby/internal/core/rarray.h
+++ b/include/ruby/internal/core/rarray.h
@@ -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
diff --git a/internal/gc.h b/internal/gc.h
index 3346089754..84b7f9fa3e 100644
--- a/internal/gc.h
+++ b/internal/gc.h
@@ -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