develooper Front page | perl.perl5.porters | Postings from October 2016

Re: DAVEM TPF grant#2 report #142

Thread Previous
From:
Dave Mitchell
Date:
October 4, 2016 10:06
Subject:
Re: DAVEM TPF grant#2 report #142
Message ID:
20161004100636.GC16868@iabyn.com
Spent last week picking some quick and low-hanging fruit off my TODO list.
None really took long enough to individually itemise, but it produced the
following list of commits.

    35a2929 OP_SASSIGN: make op_first==op_last for UNOP
    614f2ce undef $0 shouldn't warn about $0
    81b96c3 OP_MULTIDEREF: ignore customised delete/exists
    850e14d Cwd.xs: avoid blib better while building
    92683b8 Porting/bench.pl: explain what PUT means
    9420b26 Eliminate xpad_cop_seq from _xnvu union
    80e5abf S_sv_2iuv_common(): optimise single digit strings
    032736a pp_leaveloop(): rename local vars
    e9fb18e padrange, aelemfast: use label for private bits
    e1e2637 OP_AVHVSWITCH: make op_private bits 0..1 symbolic
    17b0bd7 fixup some AV API pod descriptions.
    8944d2e perldelta for PADOFFSET changes
    d12be05 make PL_ pad vars be of type PADOFFSET
    d081a35 make PADOFFSET be SSizet_t
    f2949f4 remove a bunch of XXX's from pad.c
    4e785f2 pad.c comments: clarify PERL_PADSEQ_INTRO
    be294d8 add a test for gv_try_downgrade()
    5debce0 fix builds under USE_PAD_RESET

One commit that is marginally interesting is the "optimise single digit
strings" ones. When perl tries to get the numeric value of a string
(as in e.g. @a = split; $total += $a[0]) the conversion code has to handle
whitespace, negatives, floating, Inf, Nan etc, which is all quite complex.
However, it will be quite common that the string is just a single char
like "0" or "1". That commit says: if the string is of length 1 and is a
digit, just immediately return SvPVX(sv)[0] - '0'. This is *lot* quicker.


2016/09/26
     3:00 miscellaneous fixups

2016/09/27
     5:51 miscellaneous fixups

2016/09/28
     3:05 miscellaneous fixups

2016/09/29
     0:22 process p5p mailbox
     2:16 miscellaneous fixups
     3:52 [perl #125792] [2 PATCHES] sassign is wrongly declared as BASEOP

SUMMARY:
      3:52 [perl #125792] [2 PATCHES] sassign is wrongly declared as BASEOP
     14:12 miscellaneous fixups
      0:22 process p5p mailbox
    ------
     18:26 TOTAL (HH::MM)


-- 
Justice is when you get what you deserve.
Law is when you get what you pay for.

Thread Previous


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