Lines Matching refs:best
851 void COVER_best_init(COVER_best_t *best) { in COVER_best_init() argument
852 if (best==NULL) return; /* compatible with init on NULL */ in COVER_best_init()
853 (void)ZSTD_pthread_mutex_init(&best->mutex, NULL); in COVER_best_init()
854 (void)ZSTD_pthread_cond_init(&best->cond, NULL); in COVER_best_init()
855 best->liveJobs = 0; in COVER_best_init()
856 best->dict = NULL; in COVER_best_init()
857 best->dictSize = 0; in COVER_best_init()
858 best->compressedSize = (size_t)-1; in COVER_best_init()
859 memset(&best->parameters, 0, sizeof(best->parameters)); in COVER_best_init()
865 void COVER_best_wait(COVER_best_t *best) { in COVER_best_wait() argument
866 if (!best) { in COVER_best_wait()
869 ZSTD_pthread_mutex_lock(&best->mutex); in COVER_best_wait()
870 while (best->liveJobs != 0) { in COVER_best_wait()
871 ZSTD_pthread_cond_wait(&best->cond, &best->mutex); in COVER_best_wait()
873 ZSTD_pthread_mutex_unlock(&best->mutex); in COVER_best_wait()
879 void COVER_best_destroy(COVER_best_t *best) { in COVER_best_destroy() argument
880 if (!best) { in COVER_best_destroy()
883 COVER_best_wait(best); in COVER_best_destroy()
884 if (best->dict) { in COVER_best_destroy()
885 free(best->dict); in COVER_best_destroy()
887 ZSTD_pthread_mutex_destroy(&best->mutex); in COVER_best_destroy()
888 ZSTD_pthread_cond_destroy(&best->cond); in COVER_best_destroy()
895 void COVER_best_start(COVER_best_t *best) { in COVER_best_start() argument
896 if (!best) { in COVER_best_start()
899 ZSTD_pthread_mutex_lock(&best->mutex); in COVER_best_start()
900 ++best->liveJobs; in COVER_best_start()
901 ZSTD_pthread_mutex_unlock(&best->mutex); in COVER_best_start()
909 void COVER_best_finish(COVER_best_t *best, ZDICT_cover_params_t parameters, in COVER_best_finish() argument
914 if (!best) { in COVER_best_finish()
919 ZSTD_pthread_mutex_lock(&best->mutex); in COVER_best_finish()
920 --best->liveJobs; in COVER_best_finish()
921 liveJobs = best->liveJobs; in COVER_best_finish()
923 if (compressedSize < best->compressedSize) { in COVER_best_finish()
925 if (!best->dict || best->dictSize < dictSize) { in COVER_best_finish()
926 if (best->dict) { in COVER_best_finish()
927 free(best->dict); in COVER_best_finish()
929 best->dict = malloc(dictSize); in COVER_best_finish()
930 if (!best->dict) { in COVER_best_finish()
931 best->compressedSize = ERROR(GENERIC); in COVER_best_finish()
932 best->dictSize = 0; in COVER_best_finish()
933 ZSTD_pthread_cond_signal(&best->cond); in COVER_best_finish()
934 ZSTD_pthread_mutex_unlock(&best->mutex); in COVER_best_finish()
940 memcpy(best->dict, dict, dictSize); in COVER_best_finish()
941 best->dictSize = dictSize; in COVER_best_finish()
942 best->parameters = parameters; in COVER_best_finish()
943 best->compressedSize = compressedSize; in COVER_best_finish()
947 ZSTD_pthread_cond_broadcast(&best->cond); in COVER_best_finish()
949 ZSTD_pthread_mutex_unlock(&best->mutex); in COVER_best_finish()
1063 COVER_best_t *best; member
1111 COVER_best_finish(data->best, parameters, selection); in COVER_tryParameters()
1141 COVER_best_t best; in ZDICT_optimizeTrainFromBuffer_cover() local
1170 COVER_best_init(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1184 COVER_best_destroy(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1201 COVER_best_destroy(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1207 data->best = &best; in ZDICT_optimizeTrainFromBuffer_cover()
1223 COVER_best_start(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1234 COVER_best_wait(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1240 const size_t dictSize = best.dictSize; in ZDICT_optimizeTrainFromBuffer_cover()
1241 if (ZSTD_isError(best.compressedSize)) { in ZDICT_optimizeTrainFromBuffer_cover()
1242 const size_t compressedSize = best.compressedSize; in ZDICT_optimizeTrainFromBuffer_cover()
1243 COVER_best_destroy(&best); in ZDICT_optimizeTrainFromBuffer_cover()
1247 *parameters = best.parameters; in ZDICT_optimizeTrainFromBuffer_cover()
1248 memcpy(dictBuffer, best.dict, dictSize); in ZDICT_optimizeTrainFromBuffer_cover()
1249 COVER_best_destroy(&best); in ZDICT_optimizeTrainFromBuffer_cover()