Во-первых, надо выкладывать полный код бенчей.
Во-вторых, бенч функции test_for
не имеет смысла, т.к. внутри нее идет создание vec!
, что есть затратная операция, ибо приходится аллоцировать память в хипе. Функция, которую ты бенчишь, должна быть максимально короткой и делать только то, что ты бенчишь. Т.е. она должна по ссылке принимать уже сформированный массив (ну или слайс), и возвращать result: usize
.
В-третьих, ты должен сказать нам порядок размера твоего массива, для которого ты пишешь эту функцию. Если это… 1000 элементов и вызываешь эту функцию раз в секунду, забей на оптимизацию. Если это 1М элементов и будешь вызывать каждую миллисекунду, то это уже хороший кандидат на оптимизацию.
В-четвертых, почему это массив строк, да которые еще и выглядят как флоаты?
В-пятых, будут ли флоаты отсортированы? Каков порядок элементов?
3 пункт очень важен. Если у тебя там 100 элементов, то не стоит тратить на эту “оптимизацию” время.