Add initial live update with displayLevel = 2, add new field to FIO_prefs_t
This commit is contained in:
+32
-16
@@ -319,6 +319,7 @@ struct FIO_prefs_s {
|
|||||||
int excludeCompressedFiles;
|
int excludeCompressedFiles;
|
||||||
int patchFromMode;
|
int patchFromMode;
|
||||||
int contentSize;
|
int contentSize;
|
||||||
|
int nbFiles;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -360,6 +361,7 @@ FIO_prefs_t* FIO_createPreferences(void)
|
|||||||
ret->testMode = 0;
|
ret->testMode = 0;
|
||||||
ret->literalCompressionMode = ZSTD_lcm_auto;
|
ret->literalCompressionMode = ZSTD_lcm_auto;
|
||||||
ret->excludeCompressedFiles = 0;
|
ret->excludeCompressedFiles = 0;
|
||||||
|
ret->nbFiles = 1;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -495,6 +497,11 @@ void FIO_setContentSize(FIO_prefs_t* const prefs, int value)
|
|||||||
prefs->contentSize = value != 0;
|
prefs->contentSize = value != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FIO_setNbFiles(FIO_prefs_t* const prefs, int value)
|
||||||
|
{
|
||||||
|
prefs->nbFiles = value;
|
||||||
|
}
|
||||||
|
|
||||||
/*-*************************************
|
/*-*************************************
|
||||||
* Functions
|
* Functions
|
||||||
***************************************/
|
***************************************/
|
||||||
@@ -1254,17 +1261,17 @@ FIO_compressZstdFrame(FIO_prefs_t* const prefs,
|
|||||||
|
|
||||||
/* display progress notifications */
|
/* display progress notifications */
|
||||||
if (g_display_prefs.displayLevel >= 3) {
|
if (g_display_prefs.displayLevel >= 3) {
|
||||||
DISPLAYUPDATE(3, "\r(L%i) Buffered :%4u MB - Consumed :%4u MB - Compressed :%4u MB => %.2f%% ",
|
DISPLAYUPDATE(3, "\r(L%i) Buffered :%4u MB - Consumed :%4u MB - Compressed :%4u MB => %.2f%%\033 ",
|
||||||
compressionLevel,
|
compressionLevel,
|
||||||
(unsigned)((zfp.ingested - zfp.consumed) >> 20),
|
(unsigned)((zfp.ingested - zfp.consumed) >> 20),
|
||||||
(unsigned)(zfp.consumed >> 20),
|
(unsigned)(zfp.consumed >> 20),
|
||||||
(unsigned)(zfp.produced >> 20),
|
(unsigned)(zfp.produced >> 20),
|
||||||
cShare );
|
cShare );
|
||||||
} else { /* summarized notifications if == 2; */
|
} else { /* summarized notifications if == 2; */
|
||||||
DISPLAYLEVEL(2, "\rRead : %u ", (unsigned)(zfp.consumed >> 20));
|
DISPLAYLEVEL(2, "\033[s Read : %u ", (unsigned)(zfp.consumed >> 20));
|
||||||
if (fileSize != UTIL_FILESIZE_UNKNOWN)
|
if (fileSize != UTIL_FILESIZE_UNKNOWN)
|
||||||
DISPLAYLEVEL(2, "/ %u ", (unsigned)(fileSize >> 20));
|
DISPLAYLEVEL(2, "/ %u ", (unsigned)(fileSize >> 20));
|
||||||
DISPLAYLEVEL(2, "MB ==> %2.f%% ", cShare);
|
DISPLAYLEVEL(2, "MB ==> %2.f%%\033[u", cShare);
|
||||||
DELAY_NEXT_UPDATE();
|
DELAY_NEXT_UPDATE();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1427,18 +1434,21 @@ FIO_compressFilename_internal(FIO_prefs_t* const prefs,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Status */
|
/* Status */
|
||||||
DISPLAYLEVEL(2, "\r%79s\r", "");
|
|
||||||
if (readsize == 0) {
|
if (prefs->nbFiles == 1 && !((!strcmp(srcFileName, stdinmark) && dstFileName && !strcmp(dstFileName,stdoutmark)))) {
|
||||||
DISPLAYLEVEL(2,"%-20s : (%6llu => %6llu bytes, %s) \n",
|
DISPLAYLEVEL(2, "\r%79s\r", "");
|
||||||
srcFileName,
|
if (readsize == 0) {
|
||||||
(unsigned long long)readsize, (unsigned long long) compressedfilesize,
|
DISPLAYLEVEL(2,"%-20s : (%6llu => %6llu bytes, %s) \n",
|
||||||
dstFileName);
|
srcFileName,
|
||||||
} else {
|
(unsigned long long)readsize, (unsigned long long) compressedfilesize,
|
||||||
DISPLAYLEVEL(2,"%-20s :%6.2f%% (%6llu => %6llu bytes, %s) \n",
|
dstFileName);
|
||||||
srcFileName,
|
} else {
|
||||||
(double)compressedfilesize / readsize * 100,
|
DISPLAYLEVEL(2,"%-20s :%6.2f%% (%6llu => %6llu bytes, %s) \n",
|
||||||
(unsigned long long)readsize, (unsigned long long) compressedfilesize,
|
srcFileName,
|
||||||
dstFileName);
|
(double)compressedfilesize / readsize * 100,
|
||||||
|
(unsigned long long)readsize, (unsigned long long) compressedfilesize,
|
||||||
|
dstFileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Elapsed Time and CPU Load */
|
/* Elapsed Time and CPU Load */
|
||||||
@@ -1682,8 +1692,10 @@ int FIO_compressMultipleFilenames(FIO_prefs_t* const prefs,
|
|||||||
error = 1;
|
error = 1;
|
||||||
} else {
|
} else {
|
||||||
unsigned u;
|
unsigned u;
|
||||||
for (u=0; u<nbFiles; u++)
|
for (u=0; u<nbFiles; u++) {
|
||||||
|
DISPLAYUPDATE(2, "\r%u/%u files compressed", u+1, nbFiles);
|
||||||
error |= FIO_compressFilename_srcFile(prefs, ress, outFileName, inFileNamesTable[u], compressionLevel);
|
error |= FIO_compressFilename_srcFile(prefs, ress, outFileName, inFileNamesTable[u], compressionLevel);
|
||||||
|
}
|
||||||
if (fclose(ress.dstFile))
|
if (fclose(ress.dstFile))
|
||||||
EXM_THROW(29, "Write error (%s) : cannot properly close %s",
|
EXM_THROW(29, "Write error (%s) : cannot properly close %s",
|
||||||
strerror(errno), outFileName);
|
strerror(errno), outFileName);
|
||||||
@@ -1711,6 +1723,10 @@ int FIO_compressMultipleFilenames(FIO_prefs_t* const prefs,
|
|||||||
dstFileName = FIO_determineCompressedName(srcFileName, outDirName, suffix); /* cannot fail */
|
dstFileName = FIO_determineCompressedName(srcFileName, outDirName, suffix); /* cannot fail */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* No status message in pipe mode (stdin - stdout) or multi-files mode */
|
||||||
|
// if (!strcmp(inFileNamesTable[0], stdinmark) && outFileName && !strcmp(outFileName,stdoutmark) && (g_display_prefs.displayLevel==2)) g_displayLevel=1;
|
||||||
|
if (nbFiles > 1)
|
||||||
|
DISPLAYUPDATE(2, "\rCompressing %u/%u files. Current source: %s |", u+1, nbFiles, srcFileName);
|
||||||
error |= FIO_compressFilename_srcFile(prefs, ress, dstFileName, srcFileName, compressionLevel);
|
error |= FIO_compressFilename_srcFile(prefs, ress, dstFileName, srcFileName, compressionLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -96,6 +96,7 @@ void FIO_setNotificationLevel(int level);
|
|||||||
void FIO_setExcludeCompressedFile(FIO_prefs_t* const prefs, int excludeCompressedFiles);
|
void FIO_setExcludeCompressedFile(FIO_prefs_t* const prefs, int excludeCompressedFiles);
|
||||||
void FIO_setPatchFromMode(FIO_prefs_t* const prefs, int value);
|
void FIO_setPatchFromMode(FIO_prefs_t* const prefs, int value);
|
||||||
void FIO_setContentSize(FIO_prefs_t* const prefs, int value);
|
void FIO_setContentSize(FIO_prefs_t* const prefs, int value);
|
||||||
|
void FIO_setNbFiles(FIO_prefs_t* const prefs, int value);
|
||||||
|
|
||||||
/*-*************************************
|
/*-*************************************
|
||||||
* Single File functions
|
* Single File functions
|
||||||
|
|||||||
+7
-8
@@ -1244,10 +1244,6 @@ int main(int const argCount, const char* argv[])
|
|||||||
CLEAN_RETURN(1);
|
CLEAN_RETURN(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No status message in pipe mode (stdin - stdout) or multi-files mode */
|
|
||||||
if (!strcmp(filenames->fileNames[0], stdinmark) && outFileName && !strcmp(outFileName,stdoutmark) && (g_displayLevel==2)) g_displayLevel=1;
|
|
||||||
if ((filenames->tableSize > 1) & (g_displayLevel==2)) g_displayLevel=1;
|
|
||||||
|
|
||||||
/* IO Stream/File */
|
/* IO Stream/File */
|
||||||
FIO_setNotificationLevel(g_displayLevel);
|
FIO_setNotificationLevel(g_displayLevel);
|
||||||
FIO_setPatchFromMode(prefs, patchFromDictFileName != NULL);
|
FIO_setPatchFromMode(prefs, patchFromDictFileName != NULL);
|
||||||
@@ -1306,10 +1302,12 @@ int main(int const argCount, const char* argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((filenames->tableSize==1) && outFileName)
|
if ((filenames->tableSize==1) && outFileName) {
|
||||||
operationResult = FIO_compressFilename(prefs, outFileName, filenames->fileNames[0], dictFileName, cLevel, compressionParams);
|
operationResult = FIO_compressFilename(prefs, outFileName, filenames->fileNames[0], dictFileName, cLevel, compressionParams);
|
||||||
else
|
} else {
|
||||||
operationResult = FIO_compressMultipleFilenames(prefs, filenames->fileNames, (unsigned)filenames->tableSize, outMirroredDirName, outDirName, outFileName, suffix, dictFileName, cLevel, compressionParams);
|
FIO_setNbFiles(prefs, (int)filenames->tableSize);
|
||||||
|
operationResult = FIO_compressMultipleFilenames(prefs, filenames->fileNames, (unsigned)filenames->tableSize, outMirroredDirName, outDirName, outFileName, suffix, dictFileName, cLevel, compressionParams);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
(void)contentSize; (void)suffix; (void)adapt; (void)rsyncable; (void)ultra; (void)cLevel; (void)ldmFlag; (void)literalCompressionMode; (void)targetCBlockSize; (void)streamSrcSize; (void)srcSizeHint; (void)ZSTD_strategyMap; /* not used when ZSTD_NOCOMPRESS set */
|
(void)contentSize; (void)suffix; (void)adapt; (void)rsyncable; (void)ultra; (void)cLevel; (void)ldmFlag; (void)literalCompressionMode; (void)targetCBlockSize; (void)streamSrcSize; (void)srcSizeHint; (void)ZSTD_strategyMap; /* not used when ZSTD_NOCOMPRESS set */
|
||||||
DISPLAY("Compression not supported \n");
|
DISPLAY("Compression not supported \n");
|
||||||
@@ -1319,6 +1317,7 @@ int main(int const argCount, const char* argv[])
|
|||||||
if (filenames->tableSize == 1 && outFileName) {
|
if (filenames->tableSize == 1 && outFileName) {
|
||||||
operationResult = FIO_decompressFilename(prefs, outFileName, filenames->fileNames[0], dictFileName);
|
operationResult = FIO_decompressFilename(prefs, outFileName, filenames->fileNames[0], dictFileName);
|
||||||
} else {
|
} else {
|
||||||
|
FIO_setNbFiles(prefs, (int)filenames->tableSize);
|
||||||
operationResult = FIO_decompressMultipleFilenames(prefs, filenames->fileNames, (unsigned)filenames->tableSize, outMirroredDirName, outDirName, outFileName, dictFileName);
|
operationResult = FIO_decompressMultipleFilenames(prefs, filenames->fileNames, (unsigned)filenames->tableSize, outMirroredDirName, outDirName, outFileName, dictFileName);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user