All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Stancek <jstancek@redhat.com>
To: ltp@lists.linux.it
Subject: [LTP] On the performance of lcov...
Date: Sat, 17 Dec 2016 14:06:35 -0500 (EST)	[thread overview]
Message-ID: <650748346.6300043.1482001595688.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <11e74d02-aec3-04c2-a001-39966d8d3430@giref.ulaval.ca>





----- Original Message -----
> From: "Eric Chamberland" <Eric.Chamberland@giref.ulaval.ca>
> To: ltp@lists.linux.it
> Sent: Saturday, 17 December, 2016 7:56:17 PM
> Subject: [LTP] On the performance of lcov...
> 
> Hi,
> 
> We are running gcov+lcov analysis each night for our software.  It does
> a really great job to help us manage our nightly tests database (~1100
> runs) and to discover unused lines of code! :)
> 
> However running lcov+genthml is really time consuming (longer than the
> tests or even compiling the code) and I would like to know if there is a
> way to make lcov+genthml go a little faster...
> 
> Here is the timings for a complete analysis and html generation:
> 
> ===========================
>   660s (1866 .gcno files):  lcov --rc lcov_branch_coverage=1 --capture
> --initial -d $obj/dev -d $obj2/dev -o init.info
> 
> 2113s (1662 .gcda files): lcov --rc lcov_branch_coverage=1 --capture -d
> $obj/dev -d $obj2/dev -o cov.info
> 
> 3112s: lcov --rc lcov_branch_coverage=1 --remove init.info "/usr*"
> "/opt*" "/pmi/Indus*" -o init.info && lcov --rc lcov_branch_coverage=1
> --remove cov.info   "/usr*" "/opt*" "/pmi/Indus*" -o cov.info
> ...
> Deleted 255 files
> Writing data to cov.info
> Summary coverage rate:
>    lines......: 69.4% (357216 of 515067 lines)
>    functions..: 64.1% (61500 of 95942 functions)
>    branches...: 32.1% (717338 of 2232711 branches)
> 
> 2227s:  lcov --rc lcov_branch_coverage=1 -a init.info -a cov.info -o
> total.info
> ...
> Combining tracefiles.
> Reading tracefile init.info
> Reading tracefile cov.info
> Writing data to total.info
> Summary coverage rate:
>    lines......: 64.5% (357216 of 553958 lines)
>    functions..: 60.3% (61500 of 102006 functions)
>    branches...: 32.1% (717338 of 2232711 branches)
> 
> 1391s:  genhtml  --show-details --legend --branch-coverage
> --demangle-cpp -o $$pref_html/coverage_dev total.info
> Reading data file total.info
> Found 2854 entries.
> ...
> ===========================
> 
> total time: 9503s => 2h38m
> 
> We would like to understand if we are doing something wrong... or if
> someone is aware of this performance "problem" or willing to optimize
> lcov/genthml code itself?

Hi,

2 bugs below come to mind, try turning off --all-blocks to see if this is
your case as well. There should an option for that in lcov config file.

Bug 1290759 - gcov takes up to 36hours to process xfs_sb.gcda on Intel Xeon
https://bugzilla.redhat.com/show_bug.cgi?id=1290759

Bug 67992 - GCOV takes an absurdly long time to process a file
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67992

Regards,
Jan

> 
> anyway, thanks for this great tool! :)
> 
> Eric
> 
> 
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
> 

  reply	other threads:[~2016-12-17 19:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-17 18:56 [LTP] On the performance of lcov Eric Chamberland
2016-12-17 19:06 ` Jan Stancek [this message]
2016-12-17 21:29   ` Eric Chamberland
2016-12-19 19:07     ` Eric Chamberland
2016-12-31 18:55       ` Eric Chamberland
2017-01-03  9:14       ` Jan Stancek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=650748346.6300043.1482001595688.JavaMail.zimbra@redhat.com \
    --to=jstancek@redhat.com \
    --cc=ltp@lists.linux.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.