Issue #3905 has been updated by Charles Nutter.


What's the effect of the EPHEMERAL flag if someone takes an object with an attached ephemeral class and starts making singleton changes to that object? Do those changes properly flush cache?

If this flag only helps cases where you're extending a module with no methods, it seems extremely niche...why don't we just reverse course on extending these modules at all?
----------------------------------------
Feature #3905: rb_clear_cache_by_class() called often during GC for non-blocking I/O
http://redmine.ruby-lang.org/issues/3905

Author: Eric Wong
Status: Open
Priority: Low
Assignee: 
Category: core
Target version: 1.9.x


=begin
 This still causes performance problems with frequent EAGAIN compared to 1.9.1
 
 While akr fixed extend to no longer clear cache with empty modules in r28813,
 the GC phase still scans and clears the cache when the extended object is
 collected.
 
 ref: [ruby-core:32507], [ruby-core:32508]
 
 A proposed patch to add memoizing of extended objects with
 IO::Wait{Read,Writ}able is attached.  Comments/feedback appreciated.
=end



-- 
http://redmine.ruby-lang.org