Thanks! 2017-03-01 21:30 GMT+02:00 Evgeny Mandrikov <mandri...@gmail.com>:
> > > On Wednesday, March 1, 2017 at 3:56:48 PM UTC+1, Михаил Завьялов wrote: >> >> Hi! >> Numbers. >> 25132 classes. The report takes 0.6 Gb of disk space. Generating report >> takes about 40 sec for our project. >> > > Here maybe some additional granularity is needed, because reading of > exec-file also consumes time. In my previous example with OpenJDK I used > empty file on purpose in order to measure only time of generation of > report. BTW maybe you can reduce size of this file and hence maybe improve > speed of report generation, as well as actually time of execution of tests > with coverage - see JaCoCo agent parameters includes/excludes ( > http://www.jacoco.org/jacoco/trunk/doc/agent.html ) and corresponding > Maven parameters that allow to control classes that will be instrumented > and so boundaries of test sessions. > > >> >> Full build of the project takes 17m 48s. Incremental build without any >> change takes couple of minutes. So, comparing full build and incremental >> without changes we have correspondively 3.7% and 33% for JaCoCo report >> generation overall time. >> Incremental build without changes for the project is not strange, because >> this Java project is not single and is just a sub-project. >> > > In case of incremental building IMO it is good idea to run full build from > time to time as a safety guard. So maybe you also can consider generation > of full coverage across all projects/sub-projects only during this build. > In any case expected that developers use code coverage tools in their IDEs > while writing code/tests. > > >> No doubts, generally the tool have the best performance - I have no any >> reclamaition to this. >> > > Thanks. > > >> But any performance can be killed by number of invokations - just my >> case. My final target is to optimize all this building process to have >> build be done ASAP. >> > > >> JaCoCo here only one (and not the most) problem. >> > > As per performance optimization methodology - biggest hotspots should be > removed first, since they hide effects of optimizations in other places ;) > > >> Particularly, we needn't to run UTes when no changes. This requires some >> fixes too. >> > > Bear in mind that generation of correct coverage report requires execution > of tests, otherwise possible that report won't reflect changes and might > show stale data, e.g. when previously covered part of code is not covered > anymore such as in case of removal of tests. > > >> So, assuming all the other components of Maven build already support >> incremental building >> > - it would be nice if JaCoCo provides incremental building - just for >> generating reports (especially - aggregate one). >> > > AFAIK not all (far away not all) components of Maven do support > incremental building. Even maven-compiler has (or at least had) troubles > with incremental compilation. IMO nowadays Gradle does job far better on > this subject. > This is maybe not a good reason to refuse such improvement, but I doubt > that we'll work on this in a short-term. However feel free to improve > existing implementation of jacoco-maven-plugin or use JaCoCo APIs to cover > your needs - for example page http://www.jacoco.org/jacoco/ > trunk/doc/api.html contains an example of how to generate report. And > feel free to contribute back. > > Thank you for your understanding. > > >> Thank you! >> Michael. >> >> 2017-02-28 23:35 GMT+02:00 Evgeny Mandrikov <mandri...@gmail.com>: >> >>> Hi Michael, >>> >>> On Wednesday, February 22, 2017 at 10:13:06 AM UTC+1, >>> michaelzavya...@gmail.com wrote: >>>> >>>> Hi! >>>> >>>> Generating Code Coverage report is very heavy operation for big project >>>> - it generates a lot a lot of files. >>>> >>> >>> Without exact numbers such statement looks incomplete. >>> >>> So let me provide some numbers: creation of html report for ~23000 >>> OpenJDK classes requires 20 seconds on my laptop. This is about 1000 >>> classes per second, which IMO is very good speed and much faster than build >>> of such big project and execution of its tests. And similar proportion is >>> observed for other projects - build and tests are much slower than create >>> of report. >>> >>> >>>> Can JaCoCo Maven plugin provide an ability to support incremental build >>>> using timestamps (or even better - checksums) of corresponded exec files? >>>> >>>> I am interesting especially in aggregate report. >>>> >>>> Thanks, >>>> Michael. >>>> >>>> >> -- You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jacoco+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jacoco/CA%2BEALSH0DB9gCKyhHn_092OrTWzKn-zPvwoqAbQJSG2y3_odJg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.