Я использую следующую функцию в CodeIgniter, чтобы получить мой последний твит:
function tweet($id) {
$c = curl_init();
curl_setopt($c, CURLOPT_URL, "http://twitter.com/statuses/user_timeline/".$id.".xml?count=1");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
//Benchmark starts here
$src = curl_exec($c);
//Benchmark ends here
curl_close($c);
preg_match('/<text>(.*)<\/text>/', $src, $t);
$data['tweet'] = htmlentities($t[1]);
preg_match('/<created_at>(.*)<\/created_at>/', $src, $c);
$created = $c[1];
// explode $created so we can process it
$created_array = explode(' ',$created);
$time = $created_array[3];
$time_array = explode(':',$time);
$format = '%b/%d/%Y %H:%M';
$date_to_format = $created_array[1].'/'.$created_array[2].'/'.$created_array[5].' '.$time_array[0].':'.$time_array[1];
$date_time = strptime($date_to_format,$format);
$created_timestamp = mktime($date_time['tm_hour'], $date_time['tm_min'], 0, $date_time['tm_mon']+1, $date_time['tm_mday'], $date_time['tm_year']+1900);
$time_diff = time() - $created_timestamp;
$data['time'] = time_since($time_diff);
return $data;
}
Я использую класс CI Benchmark, чтобы понять, почему веб-сайт так долго реагирует, и обнаружил, что строка
$src = curl_exec($c);
выполняется более 5 секунд. Может кто-нибудь сказать мне, почему это происходит?