1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 <2020> 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 <2020> 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: profiling an IOC |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | 'Michael Davidsaver' <mdavidsaver at gmail.com>, "Siddons, David" <siddons at bnl.gov> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Sat, 18 Jul 2020 23:56:52 +0000 |
Hi Michael, Thanks for the tip, that is very nice. This is perf looking at the ADSimDetector. 49.4% is in unknown, which is not too helpful. But it shows where the statistics plugin is spending its time. It shows a lot of time in the tcp routines, which is because pvAccess is transmitting 200 images per second, and each image
is 1024x1024 Float64, which is 8 MB per image, for a total of 1600MB/s. Mark -----Original Message----- On 7/17/20 1:19 PM, Siddons, David via Tech-talk wrote: > I'd like to understand where my IOC code is taking its time, and gprof seems like the right tool for this, is that right? Where would I add the compile flags (-pg)? You might also investigate the Linux 'perf' utility. It doesn't need any special compiler flags, though it's hard to find much sense without debug symbols. I especially like the 'top' mode, which can inspect an already running process. eg. $ perf top -g -p <pid> |