From 5029ebce2f6dbf55071e4e99579839a89b0f0a85 Mon Sep 17 00:00:00 2001 From: Ephraim Park Date: Mon, 3 Jun 2019 14:38:40 -0700 Subject: [PATCH 1/7] zstdcli : exposing cpu load indicator for each file on -vv mode --- programs/fileio.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/programs/fileio.c b/programs/fileio.c index dc8479ab0..390a3bbe7 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1236,6 +1236,9 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, const char* srcFileName, int compressionLevel) { + UTIL_time_t const timeStart = UTIL_getTime(); + clock_t const cpuStart = clock(); + int closeDstFile = 0; int result; stat_t statbuf; @@ -1282,7 +1285,14 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, UTIL_setFileStat(dstFileName, &statbuf); } } - + { clock_t const cpuEnd = clock(); + double const cpuLoad_s = (double)(cpuEnd - cpuStart) / CLOCKS_PER_SEC; + U64 const timeLength_ns = UTIL_clockSpanNano(timeStart); + double const timeLength_s = (double)timeLength_ns / 1000000000; + double const cpuLoad_pct = (cpuLoad_s / timeLength_s) * 100; + DISPLAYLEVEL(4, "%s: Completed in %.2f sec (cpu load : %.0f%%)\n", + srcFileName, timeLength_s, cpuLoad_pct); + } return result; } @@ -1339,15 +1349,12 @@ int FIO_compressFilename(FIO_prefs_t* const prefs, const char* dictFileName, int compressionLevel, ZSTD_compressionParameters comprParams) { - clock_t const start = clock(); U64 const fileSize = UTIL_getFileSize(srcFileName); U64 const srcSize = (fileSize == UTIL_FILESIZE_UNKNOWN) ? ZSTD_CONTENTSIZE_UNKNOWN : fileSize; cRess_t const ress = FIO_createCResources(prefs, dictFileName, compressionLevel, srcSize, comprParams); int const result = FIO_compressFilename_srcFile(prefs, ress, dstFileName, srcFileName, compressionLevel); - double const seconds = (double)(clock() - start) / CLOCKS_PER_SEC; - DISPLAYLEVEL(4, "Completed in %.2f sec \n", seconds); FIO_freeCResources(ress); return result; From 43d463eccb329c486a73447805536561d8680d27 Mon Sep 17 00:00:00 2001 From: Ephraim Park Date: Mon, 3 Jun 2019 17:31:14 -0700 Subject: [PATCH 2/7] zstdcli : moving start time and cpu initialization after potential prompt --- programs/fileio.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/programs/fileio.c b/programs/fileio.c index 390a3bbe7..0ac0f70f9 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1236,9 +1236,6 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, const char* srcFileName, int compressionLevel) { - UTIL_time_t const timeStart = UTIL_getTime(); - clock_t const cpuStart = clock(); - int closeDstFile = 0; int result; stat_t statbuf; @@ -1262,6 +1259,9 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, transfer_permissions = 1; } + UTIL_time_t const timeStart = UTIL_getTime(); + clock_t const cpuStart = clock(); + result = FIO_compressFilename_internal(prefs, ress, dstFileName, srcFileName, compressionLevel); if (closeDstFile) { From 2841c79e87022a784aca447d95e0968fd62007fd Mon Sep 17 00:00:00 2001 From: Ephraim Park Date: Mon, 3 Jun 2019 17:36:09 -0700 Subject: [PATCH 3/7] zstdcli : fixing mixed declarations and code error --- programs/fileio.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/programs/fileio.c b/programs/fileio.c index 0ac0f70f9..d1b155c2d 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1236,6 +1236,9 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, const char* srcFileName, int compressionLevel) { + UTIL_time_t timeStart; + clock_t cpuStart; + int closeDstFile = 0; int result; stat_t statbuf; @@ -1259,8 +1262,8 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, transfer_permissions = 1; } - UTIL_time_t const timeStart = UTIL_getTime(); - clock_t const cpuStart = clock(); + timeStart = UTIL_getTime(); + cpuStart = clock(); result = FIO_compressFilename_internal(prefs, ress, dstFileName, srcFileName, compressionLevel); From 5fe974261bc240693ee3a2b8a80409ab525d761c Mon Sep 17 00:00:00 2001 From: Ephraim Park Date: Tue, 4 Jun 2019 09:04:35 -0700 Subject: [PATCH 4/7] zstdcli : moving cpu load calculation from FIO_compressFilename_dstFile to FIO_compressFilename_internal --- programs/fileio.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/programs/fileio.c b/programs/fileio.c index d1b155c2d..39d02a653 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1165,6 +1165,9 @@ FIO_compressFilename_internal(FIO_prefs_t* const prefs, const char* dstFileName, const char* srcFileName, int compressionLevel) { + UTIL_time_t const timeStart = UTIL_getTime();; + clock_t const cpuStart = clock(); + U64 readsize = 0; U64 compressedfilesize = 0; U64 const fileSize = UTIL_getFileSize(srcFileName); @@ -1217,6 +1220,15 @@ FIO_compressFilename_internal(FIO_prefs_t* const prefs, (unsigned long long)readsize, (unsigned long long) compressedfilesize, dstFileName); + /* Elapsed Time and CPU Load */ + { clock_t const cpuEnd = clock(); + double const cpuLoad_s = (double)(cpuEnd - cpuStart) / CLOCKS_PER_SEC; + U64 const timeLength_ns = UTIL_clockSpanNano(timeStart); + double const timeLength_s = (double)timeLength_ns / 1000000000; + double const cpuLoad_pct = (cpuLoad_s / timeLength_s) * 100; + DISPLAYLEVEL(4, "%s: Completed in %.2f sec (cpu load : %.0f%%)\n", + srcFileName, timeLength_s, cpuLoad_pct); + } return 0; } @@ -1236,9 +1248,6 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, const char* srcFileName, int compressionLevel) { - UTIL_time_t timeStart; - clock_t cpuStart; - int closeDstFile = 0; int result; stat_t statbuf; @@ -1262,9 +1271,6 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, transfer_permissions = 1; } - timeStart = UTIL_getTime(); - cpuStart = clock(); - result = FIO_compressFilename_internal(prefs, ress, dstFileName, srcFileName, compressionLevel); if (closeDstFile) { @@ -1288,14 +1294,7 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, UTIL_setFileStat(dstFileName, &statbuf); } } - { clock_t const cpuEnd = clock(); - double const cpuLoad_s = (double)(cpuEnd - cpuStart) / CLOCKS_PER_SEC; - U64 const timeLength_ns = UTIL_clockSpanNano(timeStart); - double const timeLength_s = (double)timeLength_ns / 1000000000; - double const cpuLoad_pct = (cpuLoad_s / timeLength_s) * 100; - DISPLAYLEVEL(4, "%s: Completed in %.2f sec (cpu load : %.0f%%)\n", - srcFileName, timeLength_s, cpuLoad_pct); - } + return result; } From ef2c83695540f2ba1f8133432f47ee8ed6024cd8 Mon Sep 17 00:00:00 2001 From: Ephraim Park Date: Tue, 4 Jun 2019 09:23:49 -0700 Subject: [PATCH 5/7] zstdcli : trying to fix declaration after statement --- programs/fileio.c | 1 - 1 file changed, 1 deletion(-) diff --git a/programs/fileio.c b/programs/fileio.c index 39d02a653..b26e9fcf1 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1167,7 +1167,6 @@ FIO_compressFilename_internal(FIO_prefs_t* const prefs, { UTIL_time_t const timeStart = UTIL_getTime();; clock_t const cpuStart = clock(); - U64 readsize = 0; U64 compressedfilesize = 0; U64 const fileSize = UTIL_getFileSize(srcFileName); From a38601f05ad72063bc1c854fcda3c953e053b54e Mon Sep 17 00:00:00 2001 From: Ephraim Park Date: Tue, 4 Jun 2019 09:25:16 -0700 Subject: [PATCH 6/7] zstdcli : remove extra semicolon --- programs/fileio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/fileio.c b/programs/fileio.c index b26e9fcf1..3fcaf1ac2 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1165,7 +1165,7 @@ FIO_compressFilename_internal(FIO_prefs_t* const prefs, const char* dstFileName, const char* srcFileName, int compressionLevel) { - UTIL_time_t const timeStart = UTIL_getTime();; + UTIL_time_t const timeStart = UTIL_getTime(); clock_t const cpuStart = clock(); U64 readsize = 0; U64 compressedfilesize = 0; From e498bb64b6d614288bb01af09964b97183593218 Mon Sep 17 00:00:00 2001 From: Ephraim Park Date: Tue, 4 Jun 2019 09:42:18 -0700 Subject: [PATCH 7/7] zstdcli : align output message with previous message --- programs/fileio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/fileio.c b/programs/fileio.c index 3fcaf1ac2..3c45a9864 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1225,7 +1225,7 @@ FIO_compressFilename_internal(FIO_prefs_t* const prefs, U64 const timeLength_ns = UTIL_clockSpanNano(timeStart); double const timeLength_s = (double)timeLength_ns / 1000000000; double const cpuLoad_pct = (cpuLoad_s / timeLength_s) * 100; - DISPLAYLEVEL(4, "%s: Completed in %.2f sec (cpu load : %.0f%%)\n", + DISPLAYLEVEL(4, "%-20s : Completed in %.2f sec (cpu load : %.0f%%)\n", srcFileName, timeLength_s, cpuLoad_pct); } return 0;