• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<title>FindBugs Performance Improvements and Regressions</title>
4<link rel="stylesheet" type="text/css" href="findbugs.css">
5
6</head>
7<body>
8
9    <table width="100%">
10        <tr>
11
12
13<td bgcolor="#b9b9fe" valign="top" align="left" width="20%">
14<table width="100%" cellspacing="0" border="0">
15<tr><td><a class="sidebar" href="index.html"><img src="umdFindbugs.png" alt="FindBugs"></a></td></tr>
16
17<tr><td>&nbsp;</td></tr>
18
19<tr><td><b>Docs and Info</b></td></tr>
20<tr><td><font size="-1"><a class="sidebar" href="findbugs2.html">FindBugs 2.0</a></font></td></tr>
21<tr><td><font size="-1"><a class="sidebar" href="demo.html">Demo and data</a></font></td></tr>
22<tr><td><font size="-1"><a class="sidebar" href="users.html">Users and supporters</a></font></td></tr>
23<tr><td><font size="-1"><a class="sidebar" href="http://findbugs.blogspot.com/">FindBugs blog</a></font></td></tr>
24<tr><td><font size="-1"><a class="sidebar" href="factSheet.html">Fact sheet</a></font></td></tr>
25<tr><td><font size="-1"><a class="sidebar" href="manual/index.html">Manual</a></font></td></tr>
26<tr><td><font size="-1"><a class="sidebar" href="ja/manual/index.html">Manual(ja/&#26085;&#26412;&#35486;)</a></font></td></tr>
27<tr><td><font size="-1"><a class="sidebar" href="FAQ.html">FAQ</a></font></td></tr>
28<tr><td><font size="-1"><a class="sidebar" href="bugDescriptions.html">Bug descriptions</a></font></td></tr>
29<tr><td><font size="-1"><a class="sidebar" href="mailingLists.html">Mailing lists</a></font></td></tr>
30<tr><td><font size="-1"><a class="sidebar" href="publications.html">Documents and Publications</a></font></td></tr>
31<tr><td><font size="-1"><a class="sidebar" href="links.html">Links</a></font></td></tr>
32
33<tr><td>&nbsp;</td></tr>
34
35<tr><td><a class="sidebar" href="downloads.html"><b>Downloads</b></a></td></tr>
36
37<tr><td>&nbsp;</td></tr>
38
39<tr><td><a class="sidebar" href="http://www.cafeshops.com/findbugs"><b>FindBugs Swag</b></a></td></tr>
40
41<tr><td>&nbsp;</td></tr>
42
43<tr><td><b>Development</b></td></tr>
44<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/tracker/?group_id=96405">Open bugs</a></font></td></tr>
45<tr><td><font size="-1"><a class="sidebar" href="reportingBugs.html">Reporting bugs</a></font></td></tr>
46<tr><td><font size="-1"><a class="sidebar" href="contributing.html">Contributing</a></font></td></tr>
47<tr><td><font size="-1"><a class="sidebar" href="team.html">Dev team</a></font></td></tr>
48<tr><td><font size="-1"><a class="sidebar" href="api/index.html">API</a> <a class="sidebar" href="api/overview-summary.html">[no frames]</a></font></td></tr>
49<tr><td><font size="-1"><a class="sidebar" href="Changes.html">Change log</a></font></td></tr>
50<tr><td><font size="-1"><a class="sidebar" href="http://sourceforge.net/projects/findbugs">SF project page</a></font></td></tr>
51<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/browse/">Browse source</a></font></td></tr>
52<tr><td><font size="-1"><a class="sidebar" href="http://code.google.com/p/findbugs/source/list">Latest code changes</a></font></td></tr>
53</table>
54</td>
55
56            <td align="left" valign="top">
57
58                <h1>FindBugs Performance Improvements and Regressions</h1> I did a performance check against 179
59                benchmarks applications I regularly test against. Overall (total the total time to analyze all 179
60                benchmarks), FindBugs 2.0 gives a 9% performance improvement over 1.3.9. 154 of the 179 benchmarks saw
61                performance improvements; 24 saw regressions. All of the benchmarks that saw regressions of more than
62                10% were small benchmarks (analyzed in less than 60 seconds), which makes consistent benchmarking
63                particularly difficult. I'm working to repeat the benchmarks, see if the results are consistent. I took
64                a look, and couldn't find anything that stood out as being a performance glitch in FindBugs. I haven't
65                yet done benchmarking with constrained memory. It is possible that you may need to increase the heap
66                size for FindBugs 2.0.
67
68                <h2>Important Request</h2>
69                <p> If you are seeing any significant performance regressions in FindBugs 2.0,
70                I very much need your help. Please either email <a href="mailto:findbugs@cs.umd.edu">findbugs@cs.umd.edu</a>
71                or file <a href="http://sourceforge.net/tracker/?atid=614693&amp;group_id=96405&amp;func=browse">a
72                    bug report</a>.&nbsp;with the following information from the xml file for your project (from both the
73                1.3.9 and 2.0.0 version if possible). Sending me your code or pointing me to a open source repository
74                would be great, but I know that isn't feasible for a lot of projects. The information I'm requesting
75                doesn't include any information about the code being analyzed other than the total size of the code
76                being analyzed and the total number of issues found at the different confidence levels. The
77                &lt;FindBugsSummary ... &gt; start tag. For example: <quote> <pre>
78   &lt;FindBugsSummary timestamp="Tue, 30 Dec 2008 21:29:52 -0500"
79      total_classes="206" referenced_classes="325" total_bugs="72" total_size="7654" num_packages="21"
80      vm_version="20.4-b02-402" cpu_seconds="62.52" clock_seconds="22.01"
81      peak_mbytes="112.21" alloc_mbytes="1683.38" gc_seconds="1.19"
82      priority_3="56" priority_2="14" priority_1="2"&gt;
83</pre> </quote> The &lt;FindBugsProfile&gt;...&lt;/FindBugsProfile&gt; element. For example: <quote>
84                <pre>
85   &lt;FindBugsProfile&gt;
86      &lt;ClassProfile name="edu.umd.cs.findbugs.detect.IncompatMask" totalMilliseconds="11"
87        invocations="206" avgMicrosecondsPerInvocation="55" maxMicrosecondsPerInvocation="475"
88        standardDeviationMircosecondsPerInvocation="75"/&gt;
89      &lt;ClassProfile name="edu.umd.cs.findbugs.detect.FindFinalizeInvocations" totalMilliseconds="11"
90        invocations="206" avgMicrosecondsPerInvocation="55" maxMicrosecondsPerInvocation="402"
91        standardDeviationMircosecondsPerInvocation="69"/&gt;
92      &lt;ClassProfile name="edu.umd.cs.findbugs.classfile.engine.bcel.LockDataflowFactory" totalMilliseconds="11"
93        invocations="23" avgMicrosecondsPerInvocation="515" maxMicrosecondsPerInvocation="2637"
94        standardDeviationMircosecondsPerInvocation="639"/&gt;
95   ...
96 &lt;/FindBugsProfile&gt;
97</pre> </quote>
98<hr> <p>
99<script language="JavaScript" type="text/javascript">
100<!---//hide script from old browsers
101document.write( "Last updated "+ document.lastModified + "." );
102//end hiding contents --->
103</script>
104<p> Send comments to <a class="sidebar" href="mailto:findbugs@cs.umd.edu">findbugs@cs.umd.edu</a>
105<p>
106<A href="http://sourceforge.net"><IMG src="http://sourceforge.net/sflogo.php?group_id=96405&amp;type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></A>
107
108            </td>
109
110        </tr>
111    </table>
112
113</body>
114</html>
115