LINUX.ORG.RU

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

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

И тогда нет смысла писать на Си. Если ты точно знаешь, какой ассемблерный код хочешь получить, то лучше его и написать.

У тебя сегодня логика сбоит, это вообще никак не вытекает из моего текста.

За это отвечает как раз компилятор.

Ахах, в С? Ты серьезно? Это какой то запредельный уровень оторванности от реальности.

Если начинаешь подгонять под конкретный процессор, то на всех остальных будет работать медленней.

Нет, хотя такие оптимизации могут быть, ну это ifdef.

на современных компиляторах работает быстрее, чем ...

Заметь, что эта реализация memcpy, сугубо системная, в то время работала быстро и исполняла свои обязанности. Как написан сейчас memcpy можешь посмотреть в glibc, там не просто цикл.

Потому что наивный цикл оптимизатор компилятор может распознать, а всякие извращения «ради локальности и векторизации» не всегда.

Ты выше как раз показал такой извращенный пример хескелиста с swap. Вместо того что бы дать компилятору выполнить свою обязанность, ты начал показывать ксакепские трюки.

А понимание как работает векторизация, конвейеры, наоборот предотвращает тип проблемы который ты описываешь. Сюда же добавляется понимание как работают оптимизации, тут полезно в godbolt заглядывать.

Все ровно прямо противоположно твоим представлениям. В документации Intel кстати много рассказывают как писать векторизируемый хороший код. Но хаскелист прочтет только черновик стандарта.

Да тут даже о С речь не идет, нужно заполнять значение регистров, писать в память по адресу

Тогда лучше вообще Си не использовать, разве что для первого черновика программы.

С повышает производительность программиста, вроде это очевидно. И даже если какие то куски непереносимы, ядро можно вынести.

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

И тогда нет смысла писать на Си. Если ты точно знаешь, какой ассемблерный код хочешь получить, то лучше его и написать.

У тебя сегодня логика сбоит, это вообще никак не вытекает из моего текста.

За это отвечает как раз компилятор.

Ахах, в С? Ты серьезно? Это какой то запредельный уровень оторванности от реальности.

Если начинаешь подгонять под конкретный процессор, то на всех остальных будет работать медленней.

Нет, хотя такие оптимизации могут быть, ну это ifdef.

на современных компиляторах работает быстрее, чем ...

Заметь, что эта реализация memcpy, сугубо системная, в то время работала быстро и исполняла свои обязанности. Как написан сейчас memcpy можешь посмотреть в glibc, там не просто цикл.

Потому что наивный цикл оптимизатор компилятор может распознать, а всякие извращения «ради локальности и векторизации» не всегда.

Ты выше как раз показал такой извращенный пример хескелиста с swap. Вместо того что бы дать компилятору выполнить свою обязанность, ты начал показывать ксакепские трюки.

А понимание как работает векторизация, конвейеры, наоборот предотвращает тип проблемы который ты описываешь. Сюда же добавляется понимание как работают оптимизации, тут полезно в godbolt заглядывать.

Все ровно прямо противоположно твоим представлениям. В документации Intel кстати много рассказывают как писать векторизируемый хороший код. Но хаскелист прочтет только черновик стандарта.

Да тут даже о С речь не идет, нужно заполнять значение регистров, писать в память по адресу

Тогда лучше вообще Си не использовать, разве что для первого черновика программы.

С повышает производительность программиста, вроде это очевидно.