LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Ну во-первых совершенно разные ситуации.

Что значит «совершенно разные»? В одном случае компилятор делает некие предположения насчёт поведения функции memcpy(), а именно — что в список её побочных эффектов не входит скачивание двух гигабайт прона тебе в ~/Downloads, следовательно, её можно заменить builtin'ом и развернуть в две инструкции.

А раз так, то компилятор мог бы сделать аналогичные предположения насчёт поведения своего стандартного аллокатора и заменить его вызов на подстановку заранее выделенного адреса в .rodata.

Вот мой ход рассуждений. Дальше ставится вопрос: этот ход рассуждений где-то ошибочен, или же подобная оптимизация попросту «не реализована»?

Исходная версия intelfx, :

Ну во-первых совершенно разные ситуации.

Что значит «совершенно разные»? В одном случае компилятор делает некие предположения насчёт поведения функции memcpy(): а именно — что в список её побочных эффектов не входит скачивание двух гигабайт прона тебе в ~/Downloads, следовательно, её можно заменить builtin'ом и развернуть в две инструкции.

А раз так, то компилятор мог бы сделать аналогичные предположения насчёт поведения своего стандартного аллокатора и заменить его вызов на подстановку заранее выделенного адреса в .rodata.

Вот мой ход рассуждений. Дальше ставится вопрос: этот ход рассуждений где-то ошибочен, или же подобная оптимизация попросту «не реализована»?