develooper Front page | perl.perl5.porters | Postings from July 2018

Re: [perl #132142] Bleadperl v5.27.3-34-gf6107ca24b breaksMLEHMANN/AnyEvent-HTTP-2.23.tar.gz

Thread Previous | Thread Next
From:
Andreas Koenig
Date:
July 22, 2018 14:29
Subject:
Re: [perl #132142] Bleadperl v5.27.3-34-gf6107ca24b breaksMLEHMANN/AnyEvent-HTTP-2.23.tar.gz
Message ID:
10577_1532269744_5B5494A6_10577_65_1_87zhyjjqej.fsf@k85.linux.bogus
>>>>> On Sat, 14 Jul 2018 09:47:01 +0100, Dave Mitchell <davem@iabyn.com> said:

 >> - not taking it over into the perfunc/sort manpage and

  > There was nothing to take over.

 >> - not noticing the missing part of the documentation for 13 years

  > There was nothing missing.

In my previous posting I overlooked this very interesting point in
your argumentation. I think it more than deserves an answer.

perl 5.8.4 introduced (thanks to your effort!) a remarkable user-tunable
optimization on memory usage and you really firmly assert it is not
worth documenting?

Let me present figures how remarkable and how user-tunable it was and
still is (lower is better on all figures):

|        |       max VmPeak      |
| perl   | @b=sort@a | @a=sort@a |
|--------+-----------+-----------|
| 5.8.3  |    194524 |    194524 |
| 5.8.4  |    194532 |    114644 |
| 5.28.0 |    171160 |    123768 |

The point is that it is not only user-visible but actually user-tunable.
Your arguments about not having user-visible effects collapse under
these figures. What sense does it make to implement and announce an
optimization that in fact requires cooperation from the user and then
not to document it? And then to claim that it is intended as being
non-user-visible?

-- 
andreas

PS: full testrun:

% for t in `seq 1 3`; do for p in perl-5.8.3/6fdb perl-5.8.4/6fdb v5.28.0/da1c; do
/home/sand/src/perl/repoperls/installed-perls/host/k93msid/$p/bin/perl -le '               
my @a; push @a, substr(1000000+rand(9000000),0,7) while @a < 1000000; @a = sort @a;
print "$]: ".join"",`cat /proc/$$/status` =~ /VmPeak:\s*(\d+)/;                    
';                                                             
/home/sand/src/perl/repoperls/installed-perls/host/k93msid/$p/bin/perl -le ' 
my @a; push @a, substr(1000000+rand(9000000),0,7) while @a < 1000000; @b = sort @a;
print "$]: ".join"",`cat /proc/$$/status` =~ /VmPeak:\s*(\d+)/;
';        
done; done                                
5.008003: 194524
5.008003: 194524
5.008004: 114644
5.008004: 194532
5.028000: 123768
5.028000: 171160
5.008003: 194524
5.008003: 194524
5.008004: 114644
5.008004: 194532
5.028000: 123768
5.028000: 171160
5.008003: 194524
5.008003: 194524
5.008004: 114644
5.008004: 194532
5.028000: 123768
5.028000: 171160

Thread Previous | Thread Next


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