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

Re: [perl #128484] Configure: tweak for easier noise-freechecksum

Thread Previous | Thread Next
Jim Cromie
June 28, 2016 04:18
Re: [perl #128484] Configure: tweak for easier noise-freechecksum
Message ID:
> 1. There are two attachments to this RT.  However, they appear to be
> exactly the same -- correct?

glad theyre exact - they should be -
I didnt see the 1st succeed. I probly didnt wait long enough.

> 2. The patches are not drawn against the Perl 5 core distribution, so my
> hunch is that they're drawn against metaconfig.  So they need to be
> evaluated by people with that system; bcc-ing some likely experts.
true - I could have patched Configure
but that leaves more work for Tux or someone else busy.

> 3. You wrote, "So this is a small step towards adding -k<checksum> into
> the perl executable's name, and into its @INC paths."  Is that a goal that
> we (P5P) have set for ourselves?  If not, should we?  Discuss.
I almost removed that bit, to defer controversy.

recently, these were added to make it easier to find differences
between 2 given builds; now diff Conf-a Conf-b
will show line by line whats different.

8dd2ecb perl -V:  make configuration one per line
0bac45c perl -V:  make 'Compile-time options' one per line

the opposite is also true, it would be nice to know when 2 configs are
with the time, date, builder-name, uname -a built into config
2 otherwize identical builds, done seconds apart,
will fail to be checksum equivalent,
diff -q a b > /dev/null will return 1 (not 0)
so its not trivial to check via script

this patch is the smallest step I could take,
I didnt want to actually remove the info contained here

#= Package name      : perl5
#= Source directory  : .
#= Configuration time: Sat Jun 25 06:51:35 MDT 2016
#= Configured by     : jimc
#= Target system     : linux 4.5.6-300.fc24.x86_64 #1 smp
wed j
un 1 21:29:58 utc 2016 x86_64 x86_64 x86_64 gnulinux

so I chose to mark it such that its easy to exclude from a checksum
if that checksum is done like so:

   cfx_md5=`grep -v '^#=' | grep -vE '^cf_|^my' | md5sum`
   echo cfx_md5=\'$cf_md5\' >>

then cfx_md5 will change only rarely for a given config_args value
on a single box, probably only changing when CC or system libraries are

supposing that cfx_md5 is unchanging for 2 months on a box,
that means that Porting/ --write results are comparable
for performance regressions (or progressions) over that period (on that

it might also be true that 2 '-des -Usedevel' builds of blead on 2
fedora-24 boxes
will have identical cfx_md5.  if those 2 boxes have i3 and i7 cpus, the
are not comparable - but `cksum /proc/cpuinfo` could solve that,
and results from your box and mine might then be comparable.

so if --write results can be grouped by one or more of
-g<commit> -k<conf-md5> -m<mem-hash> -p<cpu-hash>

then we can compute std-deviations on sets of results
defined by various constellations of these values,
the larger sets should have larger std-devs

thats all pretty distant and speculative,
and it sounds a bit underwhelming as expressed above,
but then Ive only tweaked 5 line of 'comments'


Thank you very much.
Jim Keenan

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