While we can't yet get rid of thread code inheritance, we can reduce its performance impact by disabling inheritance by default.
In practice, most people will rely on autoloading anyway, which is the preferred strategy, since this takes less memory and is more reliable. Code inheritance also has a massive performance cost in large applications (see #63), so this feature is just causing unnecessary slowdowns.
A more practical default setting would probably be INHERIT_INI | INHERIT_COMMENTS. (INHERIT_COMMENTS is needed for internal technical reasons - copied Runnable classes won't correctly inherit their doc comments without it).
While we can't yet get rid of thread code inheritance, we can reduce its performance impact by disabling inheritance by default.
In practice, most people will rely on autoloading anyway, which is the preferred strategy, since this takes less memory and is more reliable. Code inheritance also has a massive performance cost in large applications (see #63), so this feature is just causing unnecessary slowdowns.
A more practical default setting would probably be
INHERIT_INI | INHERIT_COMMENTS
. (INHERIT_COMMENTS
is needed for internal technical reasons - copiedRunnable
classes won't correctly inherit their doc comments without it).