2. Я не увидел в вопросе описания того, как происходит запуск. Хотябы в --release компилировал?
спасибо за помощь разобраться
да,
> cargo run --release
в отличие от
debug даёт общее ускорение выполнения, но между повторами сохраняется иногда двукратное расхождение времени выполнения, например для массива на 10к элементов и 30 повторов:
10к/30кол-во элементов массива `vec_01`, которые обрабатываю в цикле = 10000
кол-во повторов = 30
count_chet = 151950
count_nech = 148050
time_min = 59600 time_max = 110500
При значительном увеличении кол-ва элементов в массиве, например, до 10кк:
10кк/30кол-во элементов массива `vec_01`, которые обрабатываю в цикле = 10000000
кол-во повторов = 30
count_chet = 150007770
count_nech = 149992230
time_min = 44812400 time_max = 88239600
-
кол-во элементов массива `vec_01`, которые обрабатываю в цикле = 10000000
кол-во повторов = 30
count_chet = 149946630
count_nech = 150053370
time_min = 45137500 time_max = 89361300
вот гуляет время от 45 ms до 89 ms на одинаковых условиях и наборе данных и думаю, что это не нормально (
случайные служебные процессы), а косяк кода. Поэтому задал вопрос.