Avoid method invocation in an XX-Shared loop termination expression | CAST Appmarq

Avoid method invocation in an XX-Shared loop termination expression


Rule Definition
Don't Terminate Loops with Method Calls: The overhead is significant. Not only the call of method comes with a important cost but depending on the complexity and the performance of the called method the impact on performance can be huge. In deed, the method can be called several hundred to several thousand times.

Remediation
Use a local variable to store the condition.

Violation Code Sample
for (int i=0; i < tab.length();  i++) { // VIOLATION
  tab[i] = i;
}
Fixed Code Sample
int length = tab.length();
for (int i=0; i < length; i++) { // FIXED
  tab[i] = i;
}

Reference
Java Reference: http://www.precisejava.com/javaperf/j2se/Loops.htm Java Performance Tuning By Jack Shirazi - Publisher : O'Reilly ISBN 0-596-00377-3 or http://www.devx.com/tips/Tip/5625 C# Reference: http://aspalliance.com/818

Related Technologies

Health Factor

  Total Quality Index


Technical Criterion
Efficiency - Expensive Calls in Loops

About CAST Appmarq

CAST Appmarq is by far the biggest repository of data about real IT systems. It's built on thousands of analyzed applications, made of 35 different technologies, by over 300 business organizations across major verticals. It provides IT Leaders with factual key analytics to let them know if their applications are on track.

Benchmark Statistics

Global Compliance

nan%

Total Violations
0
Total Opportunities
0
Average Violations / App.
nan
The compliance score represents 1 minus the ratio between the number of times a rule has been violated compared to the number of opportunities in a set of applications that the rule could have been violated.

Industry Insights

Utilities

98.61%

Insurance

100.00%