public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* GCC usage script
@ 2020-07-07 10:10 Martin Liška
  2020-07-07 10:27 ` Jan Hubicka
  0 siblings, 1 reply; 3+ messages in thread
From: Martin Liška @ 2020-07-07 10:10 UTC (permalink / raw)
  To: GCC Development; +Cc: Jan Hubicka, Martin Jambor

Hey.

Some of you may know Honza's images about CPU utilization and memory usage
when using LTO [1]. Last week I played with Chromium and Firefox and I wanted
to visualize their utilization. That's why I came up with a new script [2].

You can easily wrap a command and the script generates graphs for you:.
The script uses modern psutil library and plots through a great matplotlib:
$ usage-wrapper.py -v -t postgresql 'make -j16'
...
$ eog usage.svg

There's a gallery of the collected reports for Firefox and Chromium:
https://gist.github.com/marxin/223890df4d8d8e490b6b2918b77dacad

and yes, we have a LTO regression since GCC 9 that I'm going to take closer to.

Martin

[1] https://4.bp.blogspot.com/-fvrkYSMBqug/XMsTqg4HEkI/AAAAAAAAGl8/8sp1GWv6Oe8tfBfL6aO8Nbq5j3hExurpwCEwYBhgL/s1600/llvm.png
[2] https://github.com/marxin/script-misc/blob/master/usage-wrapper.py

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GCC usage script
  2020-07-07 10:10 GCC usage script Martin Liška
@ 2020-07-07 10:27 ` Jan Hubicka
  2020-07-07 10:37   ` Martin Liška
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Hubicka @ 2020-07-07 10:27 UTC (permalink / raw)
  To: Martin Liška; +Cc: GCC Development

> Hey.
> 
> Some of you may know Honza's images about CPU utilization and memory usage
> when using LTO [1]. Last week I played with Chromium and Firefox and I wanted
> to visualize their utilization. That's why I came up with a new script [2].
> 
> You can easily wrap a command and the script generates graphs for you:.
> The script uses modern psutil library and plots through a great matplotlib:
> $ usage-wrapper.py -v -t postgresql 'make -j16'
> ...
> $ eog usage.svg
> 
> There's a gallery of the collected reports for Firefox and Chromium:
> https://gist.github.com/marxin/223890df4d8d8e490b6b2918b77dacad

Thanks, it looks nice.
I am not sure what the blue line means - if it is overall usage of
vmstat then I guess you do not calculate COW of the stream out processes
correctly and that is why you get so high peak on them.
> 
> and yes, we have a LTO regression since GCC 9 that I'm going to take closer to.

Where do you see the regression? (just trying to make sense of the
numbers).
For Firefox I see you get around 16GB streaming memory peak and 32GB for
ltranses which seems kind of acceptable for such a large parallelism.

Do you have time report for Cromium WPA? It seems to be stuck on
something for quite a while.
I would say that simple time report + ideally perf profile should make
it possible to track this down.

Honza
> 
> Martin
> 
> [1] https://4.bp.blogspot.com/-fvrkYSMBqug/XMsTqg4HEkI/AAAAAAAAGl8/8sp1GWv6Oe8tfBfL6aO8Nbq5j3hExurpwCEwYBhgL/s1600/llvm.png
> [2] https://github.com/marxin/script-misc/blob/master/usage-wrapper.py

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GCC usage script
  2020-07-07 10:27 ` Jan Hubicka
@ 2020-07-07 10:37   ` Martin Liška
  0 siblings, 0 replies; 3+ messages in thread
From: Martin Liška @ 2020-07-07 10:37 UTC (permalink / raw)
  To: Jan Hubicka; +Cc: GCC Development

On 7/7/20 12:27 PM, Jan Hubicka wrote:
>> Hey.
>>
>> Some of you may know Honza's images about CPU utilization and memory usage
>> when using LTO [1]. Last week I played with Chromium and Firefox and I wanted
>> to visualize their utilization. That's why I came up with a new script [2].
>>
>> You can easily wrap a command and the script generates graphs for you:.
>> The script uses modern psutil library and plots through a great matplotlib:
>> $ usage-wrapper.py -v -t postgresql 'make -j16'
>> ...
>> $ eog usage.svg
>>
>> There's a gallery of the collected reports for Firefox and Chromium:
>> https://gist.github.com/marxin/223890df4d8d8e490b6b2918b77dacad
> 
> Thanks, it looks nice.

Thanks.

> I am not sure what the blue line means - if it is overall usage of
> vmstat then I guess you do not calculate COW of the stream out processes
> correctly and that is why you get so high peak on them.

I use:
rss: aka “Resident Set Size”, this is the non-swapped physical memory a process has used. On UNIX it matches “top“‘s RES column).

So I guess it's not computed correctly, but it's likely hard to identify memory
that is actually shared in between processes (and doesn't need copying).

>>
>> and yes, we have a LTO regression since GCC 9 that I'm going to take closer to.

I basically speak about Firefox WPA (which is about 2-3x slower with GCC 9).
For chromium, the situation is even worse (WPA is 7x slower).

> 
> Where do you see the regression? (just trying to make sense of the
> numbers).
> For Firefox I see you get around 16GB streaming memory peak and 32GB for
> ltranses which seems kind of acceptable for such a large parallelism.
> 
> Do you have time report for Cromium WPA?

No.

> It seems to be stuck on
> something for quite a while.

Yep.

Martin

> I would say that simple time report + ideally perf profile should make
> it possible to track this down.
> 
> Honza
>>
>> Martin
>>
>> [1] https://4.bp.blogspot.com/-fvrkYSMBqug/XMsTqg4HEkI/AAAAAAAAGl8/8sp1GWv6Oe8tfBfL6aO8Nbq5j3hExurpwCEwYBhgL/s1600/llvm.png
>> [2] https://github.com/marxin/script-misc/blob/master/usage-wrapper.py


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-07-07 10:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-07 10:10 GCC usage script Martin Liška
2020-07-07 10:27 ` Jan Hubicka
2020-07-07 10:37   ` Martin Liška

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).