Show elapsed time while building action list
This commit is contained in:
15
src/main.c
15
src/main.c
@@ -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
|
||||||
|
|||||||
53
src/util.c
53
src/util.c
@@ -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
|
||||||
13
src/util.h
13
src/util.h
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user