Стоит ли использовать цикл с начала и конца одновременно?
Если у нас есть большой массив и по нему нужно пройтись, например посчитать сумму элементов или найти максимальное или т.п.
Есть ли смысл использовать цикл не по всему массиву, а только до середины и в этом же цикле одновременно идти с конца массива? Смысл, то есть будет ли код работать быстрее?
Понятное дело, что учитывая массивы, когда попадается нечетная длинна, то два раза не проверяем центральный элемент
Имеет, но не имеет. То есть да, теоретически будет выигрыш в скорости засчёт меньшего количества итераций (но при учёте, что дополнительные ифы внутри цикла не появляются для работы с двух сторон), однако на практике эта разница минимальна, особенно для жса, поскольку ты банально не будешь работать с массивами такого размера, при котором ты хоть сколько-то явно ощутишь такую оптимизацию на современном железе. И то спорно, сейчас всё оптимизированно для полного прохода по циклу, а вот половинный проход – нет.
Если в том же потоке - то количество операций не поменяется, и выигрыша не будет. Поменяется только количество итераций цикла - но по сути это то же самое что за итерацию обрабатывать 2 элемента а не 1.