1
當與.timer on
一起使用Sqlite shell時,我得到控制檯打印,如「CPU時間:用戶0.062400 sys 0.015600」。我如何將其轉換爲毫秒?有沒有其他方法來測量Sqlite shell中的總查詢時間(以毫秒爲單位)?sqlite shell報告CPU時間:單位是什麼?
當與.timer on
一起使用Sqlite shell時,我得到控制檯打印,如「CPU時間:用戶0.062400 sys 0.015600」。我如何將其轉換爲毫秒?有沒有其他方法來測量Sqlite shell中的總查詢時間(以毫秒爲單位)?sqlite shell報告CPU時間:單位是什麼?
單位是秒。見參考文獻:https://github.com/freebsd/pkg/blob/master/external/sqlite/shell.c
從該頁面的代碼快照:
/* Return the difference of two time_structs in seconds */
static double timeDiff(struct timeval *pStart, struct timeval *pEnd){
return (pEnd->tv_usec - pStart->tv_usec)*0.000001 +
(double)(pEnd->tv_sec - pStart->tv_sec);
}
/*
** Print the timing results.
*/
static void endTimer(void){
if(enableTimer){
struct rusage sEnd;
getrusage(RUSAGE_SELF, &sEnd);
printf("CPU Time: user %f sys %f\n",
timeDiff(&sBegin.ru_utime, &sEnd.ru_utime),
timeDiff(&sBegin.ru_stime, &sEnd.ru_stime));
}
}
如果你想轉換到毫秒,乘以1000
方式來拉的源泉! – Brannon
@Rots你能回答http://stackoverflow.com/questions/26052240/execution-time-of-an-sqlite-query-units ? – Spade
@Spade我看到你現在已經接受了一個答案,我希望你找到了你需要的東西。 – Rots