The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В Palemoon планируют повысить требования к CPU в готовых сборках, opennews (?), 24-Мрт-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


28. "В Palemoon планируют повысить требования к CPU в готовых сбо..."  +1 +/
Сообщение от Аноним (28), 24-Мрт-24, 14:20 
> указывается желание задействовать процессорные инструкции AVX

А нельзя новые инструкции использовать динамически:
для старых процов - старые,
для новых - новые?

Зачем обязательно городить отдельные бинарники?
Или хвалёная дыряшка на динамику не способна?

Ответить | Правка | Наверх | Cообщить модератору

33. "В Palemoon планируют повысить требования к CPU в готовых сбо..."  +3 +/
Сообщение от Аноним (32), 24-Мрт-24, 14:40 
можно. в нормальном софте так сделано.
Ответить | Правка | Наверх | Cообщить модератору

44. "В Palemoon планируют повысить требования к CPU в готовых сбо..."  +1 +/
Сообщение от Аноним (-), 24-Мрт-24, 15:49 
Это решает программист. И программист решил задействовать новые инструкции, а старые дропнуть.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

46. "В Palemoon планируют повысить требования к CPU в готовых сбо..."  +/
Сообщение от Аноним (46), 24-Мрт-24, 16:00 
Вероятно, за счёт включения соотв. опций компилятора? Вряд ли полезут переписывать узкие места, это не очень модно, похоже?
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

47. "В Palemoon планируют повысить требования к CPU в готовых сбо..."  +/
Сообщение от topin89 (ok), 24-Мрт-24, 16:01 
Мочь можно, но абсолютно бессмысленно. Во-первых, это может сделать итоговый код даже медленнее, чем если бы AVX инструкций не было вовсе, как минимум для Intel Skylake и новее Вот здесь подробное : https://johnk.dev/blogs/generated/vex-transition-penalties.html

Во-вторых, такое переключение на специальную версию кода имеет смысл, если 90% времени нет затратных задач, и 10% можно вытащить в три разных куска кода, которые делают одно и то же. В браузере таких мест намного больше, и уж лучше сразу скачивать версии для всех платформ и запускать нужную по ситуации.
Но зачем, если сразу можно скачать версию под свою платформу?

А вот почему решили не собирать версии под старые платформы -- это действительно вопрос

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

93. "В Palemoon планируют повысить требования к CPU в готовых сбо..."  +/
Сообщение от cheburnator9000 (ok), 24-Мрт-24, 20:06 
В режиме одного бинарника это сделать не так просто, нужно заморачиваться либо выносить оптимизированный код в каждую библиотеку когда каждая будет компиляться со своими флагами GCC/clang, или вообще заморачиваться с разными .o (object) файлами, как емнип делают в хроме (не уверен). Под вендуз кстати делают отдельные бинарники, например для игр, game.exe, game_avx2.exe и так далее.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

103. "В Palemoon планируют повысить требования к CPU в готовых сбо..."  +/
Сообщение от Аноним (103), 24-Мрт-24, 21:55 
> В режиме одного бинарника это сделать не так просто, нужно заморачиваться либо
> выносить оптимизированный код в каждую библиотеку когда каждая будет компиляться со
> своими флагами GCC/clang, или вообще заморачиваться с разными .o (object) файлами,


#include <stdio.h>

__attribute__((__target__ ("avx2")))
int msg(void){
    return puts("Урра! Смузи!");
}

__attribute__((__target__ ("default")))
int msg(void) {
    return puts("Старое овно мамонта!");
}

int main( void ) {
    msg();
    return 0;
}


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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру