GNU bug report logs - #12738
'sort' wastes cpu-cycles of all available cpus

Previous Next

Package: coreutils;

Reported by: "Schwidom, Frank" <Frank.Schwidom <at> HS-Lausitz.de>

Date: Fri, 26 Oct 2012 07:46:02 UTC

Severity: normal

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


Message #10 received at 12738-done <at> debbugs.gnu.org (full text, mbox):

From: Jim Meyering <jim <at> meyering.net>
To: "Schwidom\, Frank" <Frank.Schwidom <at> HS-Lausitz.de>
Cc: 12738-done <at> debbugs.gnu.org
Subject: Re: bug#12738: 'sort' wastes cpu-cycles of all available cpus
Date: Fri, 26 Oct 2012 11:42:31 +0200
Schwidom, Frank wrote:
> In some situations sort wastes cpu-cycles of all available cpus.
>
> $ sort --version
> sort (GNU coreutils) 8.7
...
> but, if i use:
>
> # seq 1 1000000 | sort -n | less
>
> and while im not scrolling to the bottom in 'less'
> sort uses all cpus
>
> top:
>  9421 root      20   0  447m 109m  660 R 2295  0.9   3:12.72 sort
>
> in this case, sort is already done sorting (it took and sorted
> the whole input and 'less' displays values).
> but it takes a lot of cpu-cycles on all cpus.
>
> if i scroll to the bottom, 'less' takes all values of the sort output
> and sort will end; this is ok.

Thank you for the report.
However, your version of sort is quite old and
that bug was fixed almost two years ago:
(from "NEWS")

    * Noteworthy changes in release 8.8 (2010-12-22) [stable]

    ** Bug fixes

      sort with at least two threads and with blocked output would busy-loop
      (spinlock) all threads, often using 100% of available CPU cycles to
      do no work.  I.e., "sort < big-file | less" could waste a lot of power.
      [bug introduced in coreutils-8.6]

The latest release is coreutils-8.20.




This bug report was last modified 12 years and 211 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.