Lines Matching refs:best
843 void COVER_best_init(COVER_best_t *best) { in COVER_best_init() argument
844 if (best==NULL) return; /* compatible with init on NULL */ in COVER_best_init()
845 (void)ZSTD_pthread_mutex_init(&best->mutex, NULL); in COVER_best_init()
846 (void)ZSTD_pthread_cond_init(&best->cond, NULL); in COVER_best_init()
847 best->liveJobs = 0; in COVER_best_init()
848 best->dict = NULL; in COVER_best_init()
849 best->dictSize = 0; in COVER_best_init()
850 best->compressedSize = (size_t)-1; in COVER_best_init()
851 memset(&best->parameters, 0, sizeof(best->parameters)); in COVER_best_init()
857 void COVER_best_wait(COVER_best_t *best) { in COVER_best_wait() argument
858 if (!best) { in COVER_best_wait()
861 ZSTD_pthread_mutex_lock(&best->mutex); in COVER_best_wait()
862 while (best->liveJobs != 0) { in COVER_best_wait()
863 ZSTD_pthread_cond_wait(&best->cond, &best->mutex); in COVER_best_wait()
865 ZSTD_pthread_mutex_unlock(&best->mutex); in COVER_best_wait()
871 void COVER_best_destroy(COVER_best_t *best) { in COVER_best_destroy() argument
872 if (!best) { in COVER_best_destroy()
875 COVER_best_wait(best); in COVER_best_destroy()
876 if (best->dict) { in COVER_best_destroy()
877 free(best->dict); in COVER_best_destroy()
879 ZSTD_pthread_mutex_destroy(&best->mutex); in COVER_best_destroy()
880 ZSTD_pthread_cond_destroy(&best->cond); in COVER_best_destroy()
887 void COVER_best_start(COVER_best_t *best) { in COVER_best_start() argument
888 if (!best) { in COVER_best_start()
891 ZSTD_pthread_mutex_lock(&best->mutex); in COVER_best_start()
892 ++best->liveJobs; in COVER_best_start()
893 ZSTD_pthread_mutex_unlock(&best->mutex); in COVER_best_start()
901 void COVER_best_finish(COVER_best_t *best, ZDICT_cover_params_t parameters, in COVER_best_finish() argument
906 if (!best) { in COVER_best_finish()
911 ZSTD_pthread_mutex_lock(&best->mutex); in COVER_best_finish()
912 --best->liveJobs; in COVER_best_finish()
913 liveJobs = best->liveJobs; in COVER_best_finish()
915 if (compressedSize < best->compressedSize) { in COVER_best_finish()
917 if (!best->dict || best->dictSize < dictSize) { in COVER_best_finish()
918 if (best->dict) { in COVER_best_finish()
919 free(best->dict); in COVER_best_finish()
921 best->dict = malloc(dictSize); in COVER_best_finish()
922 if (!best->dict) { in COVER_best_finish()
923 best->compressedSize = ERROR(GENERIC); in COVER_best_finish()
924 best->dictSize = 0; in COVER_best_finish()
925 ZSTD_pthread_cond_signal(&best->cond); in COVER_best_finish()
926 ZSTD_pthread_mutex_unlock(&best->mutex); in COVER_best_finish()
932 memcpy(best->dict, dict, dictSize); in COVER_best_finish()
933 best->dictSize = dictSize; in COVER_best_finish()
934 best->parameters = parameters; in COVER_best_finish()
935 best->compressedSize = compressedSize; in COVER_best_finish()
939 ZSTD_pthread_cond_broadcast(&best->cond); in COVER_best_finish()
941 ZSTD_pthread_mutex_unlock(&best->mutex); in COVER_best_finish()
1055 COVER_best_t *best; member
1102 COVER_best_finish(data->best, parameters, selection); in COVER_tryParameters()
1133 COVER_best_t best; in ZDICT_optimizeTrainFromBuffer_cover() local
1162 COVER_best_init(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1176 COVER_best_destroy(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1193 COVER_best_destroy(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1199 data->best = &best; in ZDICT_optimizeTrainFromBuffer_cover()
1215 COVER_best_start(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1226 COVER_best_wait(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1232 const size_t dictSize = best.dictSize; in ZDICT_optimizeTrainFromBuffer_cover()
1233 if (ZSTD_isError(best.compressedSize)) { in ZDICT_optimizeTrainFromBuffer_cover()
1234 const size_t compressedSize = best.compressedSize; in ZDICT_optimizeTrainFromBuffer_cover()
1235 COVER_best_destroy(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1239 *parameters = best.parameters; in ZDICT_optimizeTrainFromBuffer_cover()
1240 memcpy(dictBuffer, best.dict, dictSize); in ZDICT_optimizeTrainFromBuffer_cover()
1241 COVER_best_destroy(&best); in ZDICT_optimizeTrainFromBuffer_cover()