Perl: the Markov chain saw | |
PerlMonks |
Re^4: Blessing with unknown classnamesby LanX (Saint) |
on Apr 02, 2021 at 08:46 UTC ( [id://11130715]=note: print w/replies, xml ) | Need Help?? |
It doesn't matter if the package is empty, a STASH was created to hold the symbols. And the initial overhead for a hash is profound, even if it's empty. Like I said several hundreds of bytes. Furthermore do I remember someone explaining that packages which become classes receive further optimization. In order to speed up method lookup (IIRC), but I don't really know the details.. I'm not aware of any application which tries to generate a massive amount of pseudo packages, I'm just saying it might not be the best idea to create many global data structures which are never destroyed. And if you only generate a small number, take care about controlling the namespace, because they are global. Fun fact: As a side effect of my experiments I was even able to block a package name in a way that any further package blocked_name; would globally fail. Like: "Hey I hate Moose, if you use my module in your project you won't be able to ever use Moose later!" ;-)
Cheers Rolf
In Section
Seekers of Perl Wisdom
|
|