Show elapsed time while building action list

This commit is contained in:
2014-12-03 02:36:38 +01:00
parent b97bf3ca4c
commit 2106141b0f
3 changed files with 81 additions and 0 deletions

View File

@@ -60,10 +60,13 @@ int main(int argc, char *argv[]) {
} }
} else if (!strcmp(argv[1], "scan") && argc == 4) { } else if (!strcmp(argv[1], "scan") && argc == 4) {
// Scanear informacion de directorio y guardar arbol // Scanear informacion de directorio y guardar arbol
long long tScan=Time_GetTime();
FileNode *fileNode; FileNode *fileNode;
printf("Building FileNode..\n"); printf("Building FileNode..\n");
fileNode = FileNode_Build(argv[2]); fileNode = FileNode_Build(argv[2]);
FileNode_Save(fileNode, argv[3]); FileNode_Save(fileNode, argv[3]);
tScan=Time_GetTime()-tScan;
printf("tScan: %9lldus\n",tScan);
} else if (!strcmp(argv[1], "rescan") && argc == 4) { } else if (!strcmp(argv[1], "rescan") && argc == 4) {
// Scanear informacion de directorio y guardar arbol // Scanear informacion de directorio y guardar arbol
FileNode *fileNode; FileNode *fileNode;
@@ -71,7 +74,10 @@ int main(int argc, char *argv[]) {
fileNode = FileNode_Load(argv[3]); fileNode = FileNode_Load(argv[3]);
if (fileNode) { if (fileNode) {
printf("Rebuilding FileNode..\n"); printf("Rebuilding FileNode..\n");
long long tScan=Time_GetTime();
fileNode = FileNode_Refresh(fileNode, argv[2]); fileNode = FileNode_Refresh(fileNode, argv[2]);
tScan=Time_GetTime()-tScan;
printf("tScan: %9lldus\n",tScan);
FileNode_Save(fileNode, argv[3]); FileNode_Save(fileNode, argv[3]);
} }
} else if (!strcmp(argv[1], "read") && argc == 3) { } else if (!strcmp(argv[1], "read") && argc == 3) {
@@ -126,12 +132,15 @@ FileNode *CheckDir(char *path, int recheck) {
snprintf(dirNodesFile, MaxPath, "%s/"FileNode_Filename, path); snprintf(dirNodesFile, MaxPath, "%s/"FileNode_Filename, path);
if (recheck) { if (recheck) {
printf("Checking Directory.. %s\n", path); printf("Checking Directory.. %s\n", path);
long long tScan=Time_GetTime();
fileNode = FileNode_Load(dirNodesFile); fileNode = FileNode_Load(dirNodesFile);
if (fileNode) { if (fileNode) {
fileNode = FileNode_Refresh(fileNode, path); fileNode = FileNode_Refresh(fileNode, path);
} else { } else {
fileNode = FileNode_Build(path); fileNode = FileNode_Build(path);
} }
tScan=Time_GetTime()-tScan;
printf("tScan: %9lldus\n",tScan);
FileNode_Save(fileNode, dirNodesFile); FileNode_Save(fileNode, dirNodesFile);
} else { } else {
printf("Loading Directory.. %s\n", path); printf("Loading Directory.. %s\n", path);
@@ -182,9 +191,12 @@ int Sync(char *pathLeft, char *pathRight, int recheck, int dryRun) {
} }
// Construir acciones // Construir acciones
long long tBuild=Time_GetTime();
printf("Building action list.. \n"); printf("Building action list.. \n");
AccionFileNode *actionFileNode = NULL; AccionFileNode *actionFileNode = NULL;
actionFileNode = AccionFileNode_BuildSync(fileNodeLeft, fileNodeRight); actionFileNode = AccionFileNode_BuildSync(fileNodeLeft, fileNodeRight);
tBuild=Time_GetTime()-tBuild;
printf("tBuild: %9lldus\n",tBuild);
if (dryRun) { if (dryRun) {
// Mostrar lista de acciones // Mostrar lista de acciones
@@ -220,9 +232,12 @@ int Copy(char *pathLeft, char *pathRight, int reCheck, int dryRun) {
} }
// Construir acciones // Construir acciones
long long tBuild=Time_GetTime();
printf("Building action list.. \n"); printf("Building action list.. \n");
AccionFileNode *actionFileNode = NULL; AccionFileNode *actionFileNode = NULL;
actionFileNode = AccionFileNode_BuildCopy(fileNodeLeft, fileNodeRight); actionFileNode = AccionFileNode_BuildCopy(fileNodeLeft, fileNodeRight);
tBuild=Time_GetTime()-tBuild;
printf("tBuild: %9lldus\n",tBuild);
if (dryRun) { if (dryRun) {
// Mostrar lista de acciones // Mostrar lista de acciones

View File

@@ -13,3 +13,56 @@ char *String_Copy(char *str) {
return (strnew); return (strnew);
} }
/////////////////////////////
// Time_GetTime
//
// Gets the current time in usecs.
/////////////////////////////
// Time_Pause
//
// Pauses the execution for t usecs.
#if WIN32
#include <windows.h>
// WIN32
long long Time_GetTime(){
LARGE_INTEGER freq;
LARGE_INTEGER tim;
long long int microt;
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&tim);
microt=(tim.QuadPart*1000000)/freq.QuadPart;
return(microt);
}
void Time_Pause(int pausa){
long long tend,t,diff;
t=Time_GetTime();
tend=t+pausa;
do{
diff=tend-t;
if(diff>1000){
Sleep(diff/1000);
}else{
Sleep(0);
}
t=Time_GetTime();
}while(tend>=t);
}
#else
// UNIX
long long Time_GetTime(){
struct timeval t;
long long usecs;
gettimeofday(&t,NULL);
usecs=(t.tv_sec*1000000ll)+(t.tv_usec);
return(usecs);
}
void Time_Pause(int pausa){
struct timeval tv;
tv.tv_sec=(long long)pausa/1000000;
tv.tv_usec=(long long)pausa%1000000;
select(0, NULL, NULL, NULL, &tv);
}
#endif // if WIN32

View File

@@ -3,4 +3,17 @@
char *String_Copy(char *str); char *String_Copy(char *str);
/////////////////////////////
// Time_GetTime
//
// Gets the current time in usecs.
long long Time_GetTime();
/////////////////////////////
// Time_Pause
//
// Pauses the execution for t usecs.
void Time_Pause(int pausa);
#endif #endif