с запасом должно 1-1.5мкс. Менял команды на версии с выравниванием, только гемора больше, на скорость практически не влияет. Вдобавок если этот цикл запустить в четырех потоках, то время 1250 итараций в каждом потоке возрастает до 13мкс, убивая весь смысл от многопоточности. Может какие-то другие avx команды есть которые быстрее с памятью работают?
мало итераций, мильен давай или ярд, иначе много вопросов. а залочена ли частота например, а турбо буст срабтывает ли, а не закешированы ли данные?
loop_4: cmp rcx, r9 jz end_loop_4 vmovupd ymm0, [rbp] lea rbp, [rbp + 32] vmulpd ymm0, ymm0, ymm4 vmovupd ymm1, [rbx] vsubpd ymm1, ymm1, ymm0 vmovupd [rbx], ymm1 add rcx, 1 lea rbx, [rbx + 32] jmp loop_4 end_loop_4: ...
если больше то пропорционально все возрастает и все
но процент впустуб потраченного времени намного меньше
Обсуждают сегодня