in reply to Functional Inside Out Closure Objects
In general closures have a lot higher overhead. Instead
of storing a scalar variable as a hash entry, you are
storing a reference to a CV structure, which points
to a pad list which points to a padname list (containing
the name of the lexical), and a pad containing a pointer to
the lexicial plus pointers to other pad targets if there
are any ops in the sub.
goto &f has roughly the same overhead as a normal exit from a sub followed by a call to another sub; ie the following two are roughly equivalent performance-wise:
sub f { ...; goto &g } sub g { ...} f(); sub f { ...; } sub g { ...} f(); g();
|
---|
In Section
Seekers of Perl Wisdom