develooper Front page | perl.perl5.porters | Postings from January 2018

[perl #132252] Blead Breaks CPAN: Role::Tiny, Variable::Magic, Moo

Thread Previous | Thread Next
From:
Sergey Aleynikov via RT
Date:
January 29, 2018 17:01
Subject:
[perl #132252] Blead Breaks CPAN: Role::Tiny, Variable::Magic, Moo
Message ID:
rt-4.0.24-16346-1517245268-612.132252-15-0@perl.org
On Mon, 29 Jan 2018 05:51:38 -0800, haarg wrote:
> This seems like lot of breakage for such a tiny benefit.  

All those modules are already broken on the current perl version (and some versions back in time), they just don't test for it - as globs are already not created for subs in the 'main' package.

> Additionally, since the stash entries get de-optimized to globs when
> called as methods, this change will actually lead to increased memory
> usage on servers that fork.  Many methods won't get called until post-
> fork, so the globs will need to be created for every fork instead of
> being able to benefit from copy-on-write.

You can't rely on copy-on-write for almost all non-optree data (and sometimes even on optree too), as any run-time SV upgrade/free will touch the whole page. Furthermore, there're constant subs (sub foo () {42}), which are almost never called as methods - and by reverting this we will loose memory savings on them.

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=132252

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About