Информация об изменениях

Сообщение Re: проблема с memcpy на Linux от 05.06.2024 9:04

Изменено 05.06.2024 9:11 ononim

Re: проблема с memcpy на Linux
M>Пытался посмотреть исходники memcpy, понял что он копирует вперёд (т.е. увеличивая поинтеры), но я не понял почему оно зависит от адреса dst и почему вообще проблема существует если идёт вперёд при копировании.
Ты наверное нашел не те исходники, их много, своя под каждую платформу, иногда своя под каждые возможные фичи процессора, вот например тут смотри файлы с *cpy* в названии https://github.com/bminor/glibc/tree/master/sysdeps/x86_64/multiarch
И это только вариации для x86-64
Re: проблема с memcpy на Linux
M>Пытался посмотреть исходники memcpy, понял что он копирует вперёд (т.е. увеличивая поинтеры), но я не понял почему оно зависит от адреса dst и почему вообще проблема существует если идёт вперёд при копировании.
Ты наверное нашел не те исходники, их много, своя под каждую платформу, иногда своя под каждые возможные фичи процессора, вот например одна из возможных (выбираемых в рантайме) реализаций https://github.com/bminor/glibc/blob/master/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
И это только вариации для x86-64