| 
<?php
 $outAvgCsv = '';
 
 $csvFilePath = './chrome-r-*.csv';
 if(isset($argv[1])) {
 if($argv[1] === 'id') {
 $csvFilePath = './chrome-r-id-*.csv';
 } else if($argv[1] === 'name') {
 $csvFilePath = './chrome-r-name-*.csv';
 } else {
 $outAvgCsv = './avg-render-time.csv';
 }
 } else {
 die('missing the argument one: id/name/none');
 }
 
 if(isset($argv[2]) && is_numeric($argv[2])) {
 if($argv[1] !== 'none') {
 $outAvgCsv = './avg-render-time-'.$argv[1].'-'.$argv[2];
 } else {
 $outAvgCsv = './avg-render-time-'.$argv[2];
 }
 } else {
 die('missing the argument two: 9 or 16');
 }
 
 if(isset($argv[3]) && is_numeric($argv[3])) {
 $runningTime = $argv[3];
 } else {
 die('missing the argument three is about the running times: 3/10');
 }
 
 if(isset($argv[4]) && is_string($argv[4])) {
 $browserName = $argv[4];
 if($browserName !== 'chrome') {
 $outAvgCsv .= '-'.$browserName.'.csv';
 } else {
 $outAvgCsv .= '.csv';
 }
 } else {
 die('missing the argument four is about the web browser name: firefox/chrome/edge');
 }
 
 @unlink($outAvgCsv);
 $csvFile = glob($csvFilePath);
 
 $numbers = [
 'p' => [],
 'p-nest' => [],
 'div' => [],
 'div-nest' => [],
 'span' => [],
 'span-nest' => [],
 ];
 $lenLimit = $argv[2];
 $times = '0,';
 $timeArr = range(0, $lenLimit);
 
 foreach($timeArr as $value) {
 $times .= pow(2, $value).',';
 }
 
 foreach($numbers as $key => $eleArr) {
 for($index=0;$index<=17;$index++) {
 $numbers[$key][$index] = 0;
 }
 }
 
 foreach($csvFile as $fileName) {
 $handlerCsv = fopen($fileName, 'r');
 $index = 0;
 $indexKey = 0;
 $tagArr = array_keys($numbers);
 while(($data = fgetcsv($handlerCsv, 1000, ",")) !== false) {
 $num = count($data);
 if($index == 0) {
 $index++;
 continue;
 }
 if($num === 0) {
 break;
 }
 $indexNum = 0;
 foreach($data as $value) {
 if($indexNum >= 11 && $lenLimit == 9) {
 break;
 }
 $numbers[$tagArr[$indexKey]][$indexNum] += (int)$value;
 $indexNum += 1;
 }
 $index++;
 $indexKey++;
 }
 fclose($handlerCsv);
 }
 $newHandlerCsv = fopen($outAvgCsv, 'w+');
 fwrite($newHandlerCsv, substr($times, 0, -1).PHP_EOL);
 
 $renTimeStr = '';
 foreach($numbers as $key => $renderTimeArr) {
 $indexNum = 0;
 foreach($numbers[$key] as $time) {
 if($indexNum >= 11 && $lenLimit == 9) {
 break;
 }
 $renTimeStr .= round($time / $runningTime).',';
 $indexNum++;
 }
 fwrite($newHandlerCsv, substr($renTimeStr, 0, -1).PHP_EOL);
 $renTimeStr = '';
 }
 
 fclose($newHandlerCsv);
 
 |