From a6e9d4c4d38ce5fb8deccdc9fbd3787230d0d5c2 Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Wed, 4 Sep 2024 08:22:39 +0800 Subject: [PATCH] No more measure in group --- include/chsrc.h | 59 ++++++++++++++++--------------------------------- src/chsrc.c | 2 +- 2 files changed, 20 insertions(+), 41 deletions(-) diff --git a/include/chsrc.h b/include/chsrc.h index 10254f3..9cf9415 100644 --- a/include/chsrc.h +++ b/include/chsrc.h @@ -497,13 +497,12 @@ get_max_ele_idx_in_dbl_ary (double *array, int size) /** - * @param size 分组大小 - * @param whole_sources 被分组的整体 - * @param whole_speeds 被分组的整体的速度值记录 - * @param grp_cursor_in_whole 分组在整体的下标中所处的位置 + * @param sources 所有待测源 + * @param size 待测源的数量 + * @param[out] speed_records 速度值记录 */ void -measure_speed_in_group (int size, SourceInfo whole_sources[], double whole_speeds[], int grp_cursor_in_whole) +measure_speed_for_every_source (SourceInfo sources[], int size, double speed_records[]) { bool get_measured[size]; /* 是否测速了 */ int get_measured_n = 0; /* 测速了几个 */ @@ -515,7 +514,7 @@ measure_speed_in_group (int size, SourceInfo whole_sources[], double whole_speed for (int i=0; i__bigfile_url; if (NULL==url) { @@ -530,7 +529,7 @@ measure_speed_in_group (int size, SourceInfo whole_sources[], double whole_speed chsrc_warn (xy_strjoin (3, msg1, src.mirror->code, msg2)); speed = 0; } - whole_speeds[i+grp_cursor_in_whole] = speed; + speed_records[i] = speed; get_measured[i] = false; measure_msgs[i] = NULL; } @@ -565,7 +564,7 @@ measure_speed_in_group (int size, SourceInfo whole_sources[], double whole_speed { char *curl_result = measure_speed_for_url (url_); double speed = parse_and_say_curl_result (curl_result); - whole_speeds[i+grp_cursor_in_whole] = speed; + speed_records[i] = speed; } } } @@ -573,7 +572,7 @@ measure_speed_in_group (int size, SourceInfo whole_sources[], double whole_speed if (CliOpt_Parallel) { - /* 一组汇总 */ + /* 汇总 */ char **curl_results = xy_malloc0 (sizeof(char *) * size); for (int i=0; i cpu_cores ? cpu_cores : (size-1); - int ngroup = (size-1) / group_size; - int rest = (size-1) % group_size; - - for (int i=0; i 0) - measure_speed_in_group (rest, sources, speed_records, grp_cursor); - } - else - { - measure_speed_in_group (size-1, sources, speed_records, grp_cursor); - } - + measure_speed_for_every_source (sources, size, speed_records); say (""); /* DEBUG */ - // for (int i=0; isources, target->sources_n, input); + select_mirror_autoly (target->sources, target->sources_n, input); return true; } return true;