Я проверил и смог найти множество сообщений о производительности float против double ( здесь - это одно, а здесь - это другое). В большинстве случаев говорят, что они имеют одинаковую производительность, потому что они конвертируются FPU в 10-байтовые действительные числа. Но я все еще не убежден. Что, если вопросы местности будут рассмотрены надлежащим образом? Рассмотрите возможность выполнения побитового XOR для большого числа битов, если не считать 0 битов, потребуется значительно меньше времени, когда данные помещаются в кэш (с плавающей запятой). Выполнение XOR и подсчета битов с помощью регулярных (не SIMD-инструкций) увеличит время обработки.
Я пытался написать какой-то тест, чтобы подтвердить это, но все не так просто.
Один вопрос: преобразованы ли эти два типа в кеш одинакового размера?
В общем, мне было интересно, может ли кто-нибудь охарактеризовать поведение этих 2 вариантов в разных ситуациях?