develooper Front page | perl.perl5.porters | Postings from March 2015


Thread Previous | Thread Next
March 4, 2015 14:00
Message ID:
On 4 March 2015 at 14:35, Paul "LeoNerd" Evans <> wrote:
> I'm very much with Zefram on this one.
> Perl's core ops have always felt to me much like (Classic) Lego and UNIX
> - a collection of lots of small well-intentioned pieces that fit
> together in lots of interesting ways, increasing the power of the
> collection as a whole because of it.
> This proposed OP_SIGNATURE feels a lot like a very specialised piece
> you'd find in a Star Wars Lego tie-in set. Very specifically-shaped for
> exactly one job, and useless anywhere else.

I don't find this comparison very apposite. OP_SIGNATURE is applicable
to practically every sub definition I have ever seen. It is hardly a
piece that can be used in only one context. On the contrary, it will
get used *everywhere*.

FWIW, I am someone that routinely uses Perl to process HUGE data sets
that would make most people find a more efficient language. I
typically eschew subroutines that would in theory make my code much
easier to maintain because the overhead of calling those routines is
so high that I can get orders of magnitude speed-ups by forgoing their
use. (I often use code-generation to side-step this issue).

So for me anything that speeds up subroutine calls is a big big big
win. A far bigger win than any kind of concern like you express here.

> If instead we can find a way to decompose the "signature" behaviour
> into a few smaller, simpler ops, can we not find a way to implement
> them just as efficiently, but now with greater flexibility to be able
> to reuse those ops elsewhere, or in new combinations?

You and Zefram seem to take the view that once we release a Perl with
OP_SIGNATURE in it that the game is over, and we have to keep it.

I don't get that position at all.

We can mark the opcode as experimental, and people that want different
opcodes, like yourself or zefram, can implement them, and get them
merged and replace OP_SIGNATURE once they are.

I also read an implication that DaveM should hack this in a way that
you guys approve of, and that doing nothing is better than doing
something that you don't like, even if there are lots of people out
there who will benefit from it.

I dont think that is right. If you guys think there is a better way to
do it then prove it. Until then, let the rest of us benefit from what
DaveM has done.

> Arguments have been hand-waved in terms of performance.

I dont think Dave M's benchmarks are "hand waved".


perl -Mre=debug -e "/just|another|perl|hacker/"

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About