Browse files

Increase default maximum size of normal methods

This helps in JIT'ing methods where the JIT profile changed because of
now treating + as a regular method. One example here is String#+ which
now can be inlined and benefits from larger maximum sizes.
  • Loading branch information...
1 parent 658c187 commit 9c06167d5feb4696834467838e1d21b007da1af0 @dbussink dbussink committed Feb 17, 2013
Showing with 1 addition and 1 deletion.
  1. +1 −1 lib/rubinius/configuration.rb
2 lib/rubinius/configuration.rb
@@ -87,7 +87,7 @@
i.vm_variable "small_method_size", 100,
"The maximum size for a small method"
- i.vm_variable "normal_method_size", 300,
+ i.vm_variable "normal_method_size", 500,
"The maximum size for a normal method"
i.vm_variable "large_method_size", 2000,

2 comments on commit 9c06167

Rubinius member

Do these method size variables depend on context of the application, or are they roughly absolute given the general sizes of methods in all projects? If the former, it'd be great to auto-tune these.

Rubinius member

AFAIK they're absolute values. Auto tuning would be a good solution provided the perf benefits outweigh the complexity of its implementation. We'd have to benchmark some real world apps and prove that the current absolute values aren't the best defaults. I did some benchmarks before on this but haven't found anything conclusive (the current defaults seemed to be OK, not necessarily the best).

Please sign in to comment.