From 38c8cac7c7568a80a2df61ac243394c85d7724d6 Mon Sep 17 00:00:00 2001 From: Felix Becker Date: Thu, 29 Sep 2016 19:59:23 +0200 Subject: [PATCH] Optimize processFile() a bit --- src/LanguageServer.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/LanguageServer.php b/src/LanguageServer.php index 1876040..e3afd12 100644 --- a/src/LanguageServer.php +++ b/src/LanguageServer.php @@ -133,20 +133,20 @@ class LanguageServer extends \AdvancedJsonRpc\Dispatcher $numTotalFiles = count($fileList); $startTime = microtime(true); + $fileNum = 0; - $processFile = function() use (&$fileList, &$processFile, $rootPath, $numTotalFiles, $startTime) { - if ($file = array_pop($fileList)) { - + $processFile = function() use (&$fileList, &$fileNum, &$processFile, $rootPath, $numTotalFiles, $startTime) { + if ($fileNum < $numTotalFiles) { + $file = $fileList[$fileNum]; $uri = pathToUri($file); - $fileNum = $numTotalFiles - count($fileList); - $shortName = substr($file, strlen($rootPath)+1); + $fileNum++; + $shortName = substr($file, strlen($rootPath) + 1); $this->client->window->logMessage(3, "Parsing file $fileNum/$numTotalFiles: $shortName."); $this->project->getDocument($uri)->updateContent(file_get_contents($file)); Loop\setTimeout($processFile, 0); - } - else { + } else { $duration = (int)(microtime(true) - $startTime); $mem = (int)(memory_get_usage(true) / (1024 * 1024)); $this->client->window->logMessage(3, "All PHP files parsed in $duration seconds. $mem MiB allocated.");