стоит ли хранить локальную копию struct tm
и обновлять ее только при необходимости;ниже func не является потокобезопасным ... также я видел, что можно сэкономить только 6-7% процессорного времени ...
struct tm* custom_localtime (time_t now_sec)
{
static time_t cache_sec;
static struct tm tms;
if (now_sec != cache_sec) {
cache_sec = now_sec;
localtime_r(&cache_sec, &(tms));
}
return(&tms);
}
Дополнительные сведения: - мое приложение выполняет звонки со скоростью более 3000 в секундуlocaltime_r()
обнаружил как минимум 33% экономии времени процессора, когда я кеширую строки меток времени в формате "2011-12-09 10:32:45"
againt time_t
секунд
спасибо всем nos, asc99c иМирча.