On Sat, Apr 05, 2014 at 08:35:59PM +0200, Christoph Lohmann wrote:
> According to sysprof st is spending on my system most of the time in de‐
> coding utf8. But that’s not what’s hogging the system when running  cma‐
> trix(1).  The Intel DRM driver is too slow, as it seems. I have the same
> hogging with urxvt and xterm; coming from Intel DRM.

This patch made things better but I still get a substantially different
CPU load when running cmatrix under st (50-60% CPU) compared to running
it under urxvt (around zero).

Find some numbers below recorded using pidstat (on my machine which uses
the Nvidia blob).

Using st to run cmatrix:

Linux 3.13.7-1-ARCH ()  04/05/2014      _x86_64_        (8 CPU)

09:09:23 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
09:09:24 PM     0       464   45.00    0.00    0.00   45.00     4  X
09:09:25 PM     0       464   54.00    0.00    0.00   54.00     4  X
09:09:26 PM     0       464   58.00    0.00    0.00   58.00     4  X
09:09:27 PM     0       464   63.00    0.00    0.00   63.00     4  X
09:09:28 PM     0       464   62.00    0.00    0.00   62.00     4  X
09:09:29 PM     0       464   49.00    0.00    0.00   49.00     4  X
09:09:30 PM     0       464   55.00    0.00    0.00   55.00     4  X
09:09:31 PM     0       464   61.00    0.00    0.00   61.00     4  X
09:09:32 PM     0       464   58.00    0.00    0.00   58.00     4  X
09:09:33 PM     0       464   63.00    0.00    0.00   63.00     4  X
09:09:34 PM     0       464   58.00    0.00    0.00   58.00     4  X
09:09:35 PM     0       464   55.00    0.00    0.00   55.00     4  X
09:09:36 PM     0       464   59.00    0.00    0.00   59.00     4  X
09:09:37 PM     0       464   60.00    0.00    0.00   60.00     4  X
09:09:38 PM     0       464   58.00    0.00    0.00   58.00     4  X
09:09:39 PM     0       464   64.00    0.00    0.00   64.00     4  X
09:09:40 PM     0       464   57.00    0.00    0.00   57.00     4  X
09:09:41 PM     0       464   59.00    0.00    0.00   59.00     4  X
09:09:42 PM     0       464    0.00    0.00    0.00    0.00     4  X
09:09:43 PM     0       464  116.00    0.00    0.00  116.00     4  X
09:09:44 PM     0       464   64.00    0.00    0.00   64.00     4  X
09:09:45 PM     0       464   64.00    0.00    0.00   64.00     4  X
09:09:46 PM     0       464   65.00    0.00    0.00   65.00     4  X
09:09:47 PM     0       464   62.00    0.00    0.00   62.00     4  X
09:09:48 PM     0       464    0.00    0.00    0.00    0.00     4  X
09:09:49 PM     0       464  121.00    0.00    0.00  121.00     4  X
09:09:50 PM     0       464    0.00    0.00    0.00    0.00     4  X

Average:        0       464   56.67    0.00    0.00   56.67     -  X


Using urxvt (using a smaller font and thus drawing more characters than
st):

Linux 3.13.7-1-ARCH ()  04/05/2014      _x86_64_        (8 CPU)

09:08:28 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
09:08:29 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:30 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:31 PM     0       464    0.00    0.00    0.00    0.00     2  X
09:08:32 PM     0       464    0.00    0.00    0.00    0.00     3  X
09:08:33 PM     0       464    0.00    0.00    0.00    0.00     3  X
09:08:34 PM     0       464    0.00    0.00    0.00    0.00     0  X
09:08:35 PM     0       464    0.00    0.00    0.00    0.00     0  X
09:08:36 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:37 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:38 PM     0       464    0.00    0.00    0.00    0.00     3  X
09:08:39 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:40 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:41 PM     0       464    0.00    0.00    0.00    0.00     2  X
09:08:42 PM     0       464    0.00    0.00    0.00    0.00     3  X
09:08:43 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:44 PM     0       464    0.00    0.00    0.00    0.00     0  X
09:08:45 PM     0       464    0.00    0.00    0.00    0.00     2  X
09:08:46 PM     0       464    0.00    0.00    0.00    0.00     2  X
09:08:47 PM     0       464    0.00    0.00    0.00    0.00     2  X
09:08:48 PM     0       464    0.00    0.00    0.00    0.00     2  X
09:08:49 PM     0       464    0.00    0.00    0.00    0.00     3  X
09:08:50 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:51 PM     0       464    0.00    0.00    0.00    0.00     2  X
09:08:52 PM     0       464    0.00    0.00    0.00    0.00     0  X
09:08:53 PM     0       464    0.00    0.00    0.00    0.00     3  X
09:08:54 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:55 PM     0       464    0.00    0.00    0.00    0.00     1  X
09:08:56 PM     0       464    0.00    0.00    0.00    0.00     0  X
09:08:57 PM     0       464    0.00    0.00    0.00    0.00     2  X
09:08:58 PM     0       464    0.00    0.00    0.00    0.00     1  X

Average:        0       464    0.00    0.00    0.00    0.00     -  X


I thought the comparison may not be fair since I am using an Xft aliased
font with st but not with urxvt. Using a bitmap font like terminus with
st does seem to increase the load which is probably due to the smaller
fontsize which lets st draw more matrixy caracters:

Linux 3.13.7-1-ARCH ()  04/05/2014      _x86_64_        (8 CPU)

09:16:14 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
09:16:15 PM     0       464   20.00    0.00    0.00   20.00     1  X
09:16:16 PM     0       464   42.00    0.00    0.00   42.00     1  X
09:16:17 PM     0       464   98.00    0.00    0.00   98.00     1  X
09:16:18 PM     0       464  102.00    0.00    0.00  102.00     1  X
09:16:19 PM     0       464  103.00    0.00    0.00  103.00     1  X
09:16:20 PM     0       464  102.00    0.00    0.00  102.00     1  X
09:16:21 PM     0       464  104.00    0.00    0.00  104.00     1  X
09:16:22 PM     0       464   70.00    0.00    0.00   70.00     1  X
09:16:23 PM     0       464  135.00    0.00    0.00  135.00     1  X
09:16:24 PM     0       464  102.00    0.00    0.00  102.00     1  X
09:16:25 PM     0       464  103.00    0.00    0.00  103.00     1  X
09:16:26 PM     0       464  103.00    0.00    0.00  103.00     1  X
09:16:27 PM     0       464  102.00    0.00    0.00  102.00     1  X
09:16:28 PM     0       464  103.00    0.00    0.00  103.00     1  X
09:16:29 PM     0       464  102.00    0.00    0.00  102.00     1  X
09:16:30 PM     0       464  102.00    0.00    0.00  102.00     1  X
09:16:31 PM     0       464  103.00    0.00    0.00  103.00     1  X
09:16:32 PM     0       464   75.00    0.00    0.00   75.00     1  X
09:16:33 PM     0       464  130.00    0.00    0.00  130.00     1  X
09:16:34 PM     0       464  103.00    0.00    0.00  103.00     2  X
09:16:35 PM     0       464  102.00    0.00    0.00  102.00     2  X
09:16:36 PM     0       464  102.00    0.00    0.00  102.00     2  X
09:16:37 PM     0       464  102.00    0.00    0.00  102.00     2  X
09:16:38 PM     0       464  102.00    0.00    0.00  102.00     2  X
09:16:39 PM     0       464  103.00    0.00    0.00  103.00     2  X
09:16:40 PM     0       464  102.00    0.00    0.00  102.00     2  X
09:16:41 PM     0       464  101.00    0.00    0.00  101.00     2  X
09:16:42 PM     0       464  102.00    0.00    0.00  102.00     2  X
09:16:43 PM     0       464   99.00    0.00    0.00   99.00     2  X

Average:        0       464   97.21    0.00    0.00   97.21     -  X

I observe a lot more of Xft API calls tracing cmatrix on st with ltrace
which may have something to do with it (I think you mentioned that as
well, Christoph).

I will try to I find the time to investigate further.


Reply via email to