fwrite($output, $readTimeElapsed); fwrite($buildOut, $buildTimeElapsed); fflush($output); fflush($buildOut); fclose($output); fclose($buildOut); return; } if ($argv[2] == "query") { $testLetter = $inputString[0]; $rankIndex = count($inputString) / 2; $selectIndex = sqrt(count($inputString) / 2); $output = fopen('rank.out', 'w+'); $readStartTime = microtime(true); for ($i = 0; $i < 1000; $i++) { $waveletTree->rank($rankIndex, $testLetter); } $readEndTime = microtime(true); $readTimeElapsed = ($readEndTime - $readStartTime) * 1000; fprintf($output, "%.16f", $readTimeElapsed); fflush($output); fclose($output); print "finished rank\n"; $output = fopen('access.out', 'w+'); $readStartTime = microtime(true); for ($i = 0; $i < 1000; $i++) { $waveletTree->access($rankIndex); } $readEndTime = microtime(true); $readTimeElapsed = ($readEndTime - $readStartTime) * 1000; fprintf($output, "%.16f", $readTimeElapsed);