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

Re: DAVEM TPF grant#2 report #142

Thread Previous
Dave Mitchell
October 4, 2016 10:06
Re: DAVEM TPF grant#2 report #142
Message ID:
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/ 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.

     3:00 miscellaneous fixups

     5:51 miscellaneous fixups

     3:05 miscellaneous fixups

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

      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 Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About