performance MDL-25637 some of more similar performance tweaks to come
authorAparup Banerjee <aparup@moodle.com>
Fri, 10 Dec 2010 09:13:43 +0000 (17:13 +0800)
committerAparup Banerjee <aparup@moodle.com>
Mon, 24 Jan 2011 06:51:21 +0000 (14:51 +0800)
backup/lib.php
backup/restorelib.php
mod/feedback/item/multichoice/lib.php
mod/glossary/import.php
mod/lesson/importppt.php
mod/wiki/diff/difflib.php
mod/wiki/parser/markups/nwiki.php

index 865430b..393ace0 100644 (file)
         }
 
         // Delete all files in the curent directory return false and halt if a file cannot be removed
-        for($i=0; $i<count($dir_files); $i++) {
+       $countdirfiles = count($dir_files);
+        for($i=0; $i<$countdirfiles; $i++) {
             chmod($dir_files[$i], $CFG->directorypermissions);
             if (((unlink($dir_files[$i]))) == FALSE) {
                 return false;
         }
 
         // Empty sub directories and then remove the directory
-        for($i=0; $i<count($dir_subdirs); $i++) {
+       $countdirsubdirs = count($dir_subdirs);
+        for($i=0; $i<$countdirsubdirs; $i++) {
             chmod($dir_subdirs[$i], $CFG->directorypermissions);
             if (delete_dir_contents($dir_subdirs[$i]) == FALSE) {
                 return false;
index d9ad84b..917fbb5 100644 (file)
                                                 $tagsarr = $info['BLOG']['#']['BLOG_TAGS']['0']['#']['BLOG_TAG'];
                                                 //Iterate over tags
                                                 $tags = array();
-                                                for($i = 0; $i < sizeof($tagsarr); $i++) {
+                                               $sizetagsarr = sizeof($tagsarr);
+                                                for($i = 0; $i < $sizetagsarr; $i++) {
                                                     $tag_info = $tagsarr[$i];
                                                     ///traverse_xmlize($tag_info);                        //Debug
                                                     ///print_object ($GLOBALS['traverse_array']);         //Debug
index a663c97..1e6b181 100644 (file)
@@ -119,7 +119,8 @@ class feedback_item_multichoice extends feedback_item_base {
 
         $analysedAnswer = array();
         if($info->subtype == 'c') {
-            for($i = 1; $i <= sizeof($answers); $i++) {
+           $sizeofanswers = sizeof($answers);
+            for($i = 1; $i <= $sizeofanswers; $i++) {
                 $ans = null;
                 $ans->answertext = $answers[$i-1];
                 $ans->answercount = 0;
@@ -136,7 +137,8 @@ class feedback_item_multichoice extends feedback_item_base {
                 $analysedAnswer[] = $ans;
             }
         }else {
-            for($i = 1; $i <= sizeof($answers); $i++) {
+           $sizeofanswers = sizeof($answers);
+            for($i = 1; $i <= $sizeofanswers; $i++) {
                 $ans = null;
                 $ans->answertext = $answers[$i-1];
                 $ans->answercount = 0;
@@ -167,7 +169,8 @@ class feedback_item_multichoice extends feedback_item_base {
 
         if($info->subtype == 'c') {
             $vallist = array_values(explode (FEEDBACK_MULTICHOICE_LINE_SEP, $value->value));
-            for($i = 0; $i < sizeof($vallist); $i++) {
+           $sizeofvallist = sizeof($vallist);
+            for($i = 0; $i < $sizeofvallist; $i++) {
                 for($k = 0; $k < sizeof($presentation); $k++) {
                     if($vallist[$i] == ($k + 1)) {//Die Werte beginnen bei 1, das Array aber mit 0
                         $printval .= trim($presentation[$k]) . chr(10);
index 5b458d4..8d49e9f 100644 (file)
@@ -187,7 +187,8 @@ if ($xml = glossary_read_imported_file($result)) {
     }
 
     $xmlentries = $xml['GLOSSARY']['#']['INFO'][0]['#']['ENTRIES'][0]['#']['ENTRY'];
-    for($i = 0; $i < sizeof($xmlentries); $i++) {
+    $sizeofxmlentries = sizeof($xmlentries);
+    for($i = 0; $i < $sizeofxmlentries; $i++) {
         // Inserting the entries
         $xmlentry = $xmlentries[$i];
         unset($newentry);
@@ -247,7 +248,8 @@ if ($xml = glossary_read_imported_file($result)) {
             $importedentries++;
 
             $xmlaliases = @$xmlentry['#']['ALIASES'][0]['#']['ALIAS']; // ignore missing ALIASES
-            for($k = 0; $k < sizeof($xmlaliases); $k++) {
+           $sizeofxmlaliases = sizeof($xmlaliases);
+            for($k = 0; $k < $sizeofxmlaliases; $k++) {
             /// Importing aliases
                 $xmlalias = $xmlaliases[$k];
                 $aliasname = $xmlalias['#']['NAME'][0]['#'];
@@ -263,7 +265,8 @@ if ($xml = glossary_read_imported_file($result)) {
             if (!empty($data->catsincl)) {
                 // If the categories must be imported...
                 $xmlcats = @$xmlentry['#']['CATEGORIES'][0]['#']['CATEGORY']; // ignore missing CATEGORIES
-                for($k = 0; $k < sizeof($xmlcats); $k++) {
+               $sizeofxmlcats = sizeof($xmlcats);
+                for($k = 0; $k < $sizeofxmlcats; $k++) {
                     $xmlcat = $xmlcats[$k];
 
                     $newcat = new stdClass();
index 982ee40..1687727 100644 (file)
@@ -110,7 +110,8 @@ if ($data = $mform->get_data()) {
             // want to allow <b><i>(maybe more) tags but when we do that
             // the preg_match messes up.
             preg_match_all("/(<([\w]+)[^>]*>)([^<\\2>]*)(<\/\\2>)/", $string, $matches);
-            for($i = 0; $i < count($matches[1]); $i++) { // go through all of our div matches
+           $countmatches = count($matches[1]);
+            for($i = 0; $i < $countmatches; $i++) { // go through all of our div matches
 
                 $class = lesson_importppt_isolate_class($matches[1][$i]); // first step in isolating the class
 
@@ -207,4 +208,4 @@ echo $OUTPUT->heading_with_help($strimportppt, 'importppt', 'lesson');
 echo $OUTPUT->box_start('generalbox boxaligncenter');
 $mform->display();
 echo $OUTPUT->box_end();
-echo $OUTPUT->footer();
\ No newline at end of file
+echo $OUTPUT->footer();
index d7389ed..1078708 100644 (file)
@@ -300,8 +300,9 @@ class ouwiki_line {
         $pos=0;
         while(true) {
             // Find a non-space
-            for(;$pos < strlen($data) && substr($data,$pos,1)===' ';$pos++) ;
-            if($pos==strlen($data)) {
+           $strlendata = strlen($data);
+            for(;$pos < $strlendata && substr($data,$pos,1)===' ';$pos++) ;
+            if($pos==$strlendata) {
                 // No more content
                 break;
             }
@@ -527,7 +528,8 @@ class ouwiki_changes {
         //    resulting array will be -,-,3,3,3,-,0
         $squidges=array();
         $lowest=0;
-        for($index1=count($diff);$index1>=1;$index1--) {
+       $countdiff = count($diff);
+        for($index1=$countdiff;$index1>=1;$index1--) {
             $index2=$diff[$index1];
             if($index2===0) {
                 $squidges[$index1]=$lowest;
index 29d4bef..8041bd7 100644 (file)
@@ -142,7 +142,8 @@ class nwiki_parser extends wiki_markup_parser {
         $cells = array();
         foreach($normalcells as $nc) {
             $headercells = explode("!!", $nc);
-            for($i = 0; $i < count($headercells); $i++) {
+           $countheadercells = count($headercells);
+            for($i = 0; $i < $countheadercells; $i++) {
                 $cells[] = array($type, $headercells[$i]);
                 $type = 'header';
             }