but-cher
> Даже если представить, что memcpy будет мало байт копировать чуть медленнее чем
> присваивание, неужели производительность от этого как-то ощутимо просядет? Мне
> кажется это экономия на спичках...
А разве присваивание не встречается в time-critical коде?
but-cher
memcpy безопасно только для POD данных...
использование memcpy как раз является экономией на спичках... при правильной организации данных, она не дает выигрыша...
Alexander K
> А разве присваивание не встречается в time-critical коде?
Не знаю, у меня это никогда не было ботлнеком. Сам использую memcpy практически везде. Так как эта функция изначально предназначалась для работы со строками, то я полагаю, что алгоритм ее работы это побайтовое копирование одного участка памяти в другой. Поэтому я просто не понимаю, что за ужасные тормоза она влечет.
В любом случае Pushkoff поселил сомнение насчет этой ф-ции, пойду читать интернет - развиваться... :)
but-cher
Ну теперь +1
but-cher
> что за ужасные тормоза она влечет.
она не влечет тормоза... для копирования блока памяти неизвестно откуда неизвестно куда она идеальный вариант, так как учитывает выравнивание... ее нельзя применять для данных которые переопределяют оператор копирования...
Pushkoff
> ее нельзя применять для данных которые переопределяют оператор копирования...
Ну так это очевидно, а я всё думал, о каких проблемах вы всё говорите, оказывается нет проблем.
ud1
> оказывается нет проблем.
это в данный момент нет, а рефакторинг их привнесет... писать код который работает здесь и сейчас.ю и перестанет в ближайшем будущем экономически невыгодно...
по моему std::copy определяет что за тип копируется и если можно вызывает memcpy... поищите на форуме старые темы по memcpy там много чего интересного было...
Тема в архиве.