Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #771463

Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server

From Niko Tyni <ntyni@debian.org>
Newsgroups linux.debian.bugs.dist
Subject Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server
Date 2016-10-03 21:30 +0200
Message-ID <soh62-z2-61@gated-at.bofh.it> (permalink)
References <snShj-11m-31@gated-at.bofh.it> <snUVQ-2Gn-7@gated-at.bofh.it> <snVRT-3e4-7@gated-at.bofh.it> <snWbf-3zE-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

On Sun, Oct 02, 2016 at 11:59:12PM +0300, Niko Tyni wrote:

> It seems to have to do with the size of the input file rather
> than its contents, but I'm not quite sure yet.

It looks like none of the gory regexps are necessary to trigger it.
Here's a short test case, resulting here in

           Rate  concat  assign sprintf
concat   2928/s      --    -94%    -94%
assign  47733/s   1530%      --     -0%
sprintf 47733/s   1530%      0%      --

so showing the 'concat' option has pathologic performance.
It goes away if the length of the base string $s is varied
even slightly, and seems to reappear in 8-byte increments
or decrements. Some of those, like 2**16 - 3, also blow
up the 'sprintf' performance.

The results don't vary much between jessie (Perl 5.20) and sid (5.24)
for me on amd64.

I'll test/bisect this on upstream code next and try to find out if it's
really copy-on-write related or something else.
-- 
Niko Tyni   ntyni@debian.org

Back to linux.debian.bugs.dist | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server Leszek Dubiel <leszek.dubiel@dubielvitrum.pl> - 2016-10-02 19:00 +0200
  Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server Niko Tyni <ntyni@debian.org> - 2016-10-02 21:50 +0200
    Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server gregor herrmann <gregoa@debian.org> - 2016-10-02 22:50 +0200
      Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server Niko Tyni <ntyni@debian.org> - 2016-10-02 23:10 +0200
        Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server gregor herrmann <gregoa@debian.org> - 2016-10-02 23:20 +0200
        Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server Niko Tyni <ntyni@debian.org> - 2016-10-03 21:30 +0200
          Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server Niko Tyni <ntyni@debian.org> - 2016-10-03 22:30 +0200
    Bug#839600: perl: concatenating string instead of sprintf takes all computation power of server Leszek Dubiel <leszek.dubiel@dubielvitrum.pl> - 2016-10-02 23:30 +0200

csiph-web