Using count() function in loops makes things very slow because
of function overheads and this function gets called everytime the
loop runs meaning the bigger the value of the variable in count(),
the slower the loop as its value always gets computed as the loop
runs.
In this case, the use of foreach(...){} is possible in order to
perform the computation making it pretty fast hence improving the
performance.
Change-Id: Ie21fbf8f6acf72373d1da75023725b4592c80386
// Note that we allow 1 link higher than the max for things like 56 days but a 60 day link.
sort( $wgRCLinkDays );
- // phpcs:ignore Generic.CodeAnalysis.ForLoopWithTestFunctionCall
- for ( $i = 0; $i < count( $wgRCLinkDays ); $i++ ) {
- if ( $wgRCLinkDays[$i] >= $rcMaxAgeDays ) {
- $wgRCLinkDays = array_slice( $wgRCLinkDays, 0, $i + 1, false );
+ foreach ( $wgRCLinkDays as $i => $days ) {
+ if ( $days >= $rcMaxAgeDays ) {
+ array_splice( $wgRCLinkDays, $i + 1 );
break;
}
}