Я думаю, у меня может быть проблема с числовой стабильностью
Так что проверяйте это. В настоящее время у вас есть гипотетическая проблема, то есть проблема вообще отсутствует.
Если вы проверяете, и гипотетическая материализация превращается в реальную проблему, тогда вам стоит задуматься о том, чтобы ее исправить.
Это значит, что точность с плавающей запятой может вызвать проблемы, но вы можете проверить, действительно ли она влияет на ваши данные, прежде чем расставлять приоритеты над всеми остальными.
... у меня будет больше кеша не хватает?
Одна тысяча операций с плавающей запятой - 4 КБ - она будет помещаться в кэш в современной системе массового рынка (если у вас есть другая платформа, расскажите нам, что это).
Единственный риск состоит в том, что средство предварительной выборки не поможет вам при выполнении итерации в обратном направлении, но, конечно, ваш вектор уже может быть в кеше. Вы не можете определить это до тех пор, пока не создадите профиль в контексте своей полной программы, поэтому бесполезно беспокоиться об этом, пока у вас не будет полной программы.
Есть ли другое умное решение?
Не беспокойтесь о вещах, которые могут стать проблемами, пока они действительно не станут проблемами. Самое большее, стоит отметить возможные проблемы и структурировать ваш код так, чтобы вы могли позже заменить простейшее решение на тщательно оптимизированное, не переписывая все остальное.