[#79440] [Ruby trunk Bug#13188] Reinitialize Ruby VM. — shyouhei@...
SXNzdWUgIzEzMTg4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgU2h5b3VoZWkgVXJhYmUuCgoKTWFydGlu
6 messages
2017/02/06
[#79441] Re: [Ruby trunk Bug#13188] Reinitialize Ruby VM.
— SASADA Koichi <ko1@...>
2017/02/06
On 2017/02/06 10:10, shyouhei@ruby-lang.org wrote:
[#79532] Immutable Strings vs Symbols — Daniel Ferreira <subtileos@...>
Hi,
15 messages
2017/02/15
[#79541] Re: Immutable Strings vs Symbols
— Rodrigo Rosenfeld Rosas <rr.rosas@...>
2017/02/15
Em 15-02-2017 05:05, Daniel Ferreira escreveu:
[#79543] Re: Immutable Strings vs Symbols
— Daniel Ferreira <subtileos@...>
2017/02/16
Hi Rodrigo,
[#79560] Re: Immutable Strings vs Symbols
— Rodrigo Rosenfeld Rosas <rr.rosas@...>
2017/02/16
Em 15-02-2017 22:39, Daniel Ferreira escreveu:
[ruby-core:79450] [Ruby trunk Bug#9262][Closed] global_method_cache should be configurable or grow automatically
From:
ko1@...
Date:
2017-02-06 03:46:45 UTC
List:
ruby-core #79450
Issue #9262 has been updated by Koichi Sasada.
Status changed from Open to Closed
Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN)
I close this issue because I want to try another approach.
Otherwise, current MRI has global variable to configure this size.
----------------------------------------
Bug #9262: global_method_cache should be configurable or grow automatically
https://bugs.ruby-lang.org/issues/9262#change-62882
* Author: Aman Gupta
* Status: Closed
* Priority: Normal
* Assignee: Koichi Sasada
* Target version: next minor
* ruby -v: -
* Backport:
----------------------------------------
The global_method_cache is currently a fixed 2048 entries. This is not configurable, and can be inadequate for large applications with thousands of classes and methods.
In our app, increasing the size of the cache to 32768 entries reduced time spent in search_method and overall pressure on st_lookup:
before
420 14.0% st_lookup
182 6.1% vm_search_method (inline)
after
265 9.5% st_lookup
125 4.5% vm_search_method (inline)
It's possible the VM could grow global_method_cache automatically, using some heuristic based on the number of long-lived classes or method_entries that are defined.
However this would break the hashing in the current implementation.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>