The OpenNET Project / Index page

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



"Выпуск языка программирования Rust 1.60"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск языка программирования Rust 1.60" –1 +/
Сообщение от Аноним (-), 13-Апр-22, 08:31 
>> А он не у всех таргетов есть, увеличивает в разы контекст, использование
> Не, это конечно забавно, когда один любитель приписывания своих фантазий решил поспорить
> с другим (надо было запастись попкорном). Но лично у меня еще
> gcc5 -O3 для amd64 разворачивал

А теперь смотрим во что разворачивается сохранение подобных контекстов при случае. При переключении задач тоже придется. Как и регистры FPU еще. Посмотрим на размер контекста задачи и подхоренеем. А если захочется low latency кернел - тыщу раз в секунду такие блоки таскать уже и не нулевой оверхед. Это же актуально при вызове множества функций и т.п..

Не забываем включить мозги. Код бывает разный. И там удобны и хороши разные вещи, серебряных пуль не бывает. Аксиома: чем больше регистров задействуеися - тем жирнее контекст. И в зависимости от кода и алгоритма результат - очень варьируется. Может быть и профит и пролет.

А тот код - прям так может и работать, а попробуйте это указателем сделать (вы же не собираетесь int[100] передавать дальше значением, задвигая про эффективность?!) - и узнаете много нового и интересного про simd, alignment и в чем там прикол. У simd есть довольно специфичные требования к выравниванию адресов и веселые приколы если это не выполняется.

>

 
> int vec1[100];
> int vec2[100];
> ...
> for(int i=0;i<100;i++) vec2[i]=vec1[i]+vec2[i];
>

Ну да, ну да, только отложенных грабель в этом коде около дюжины разложено. На всех уровнях. Шажок в сторону и бомбанет этот код, там или тут. И с точки зрения статического анализа и декларации намерений такой код - дно. Начиная прямо с (signed) индекса массива.

> И это, подписывайся как нибудь, если уж тоже влезаешь в обсуждение с таким же ником.

А нафига? Есть некие мысли, их и обсуждаем.

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

Оглавление
Выпуск языка программирования Rust 1.60, opennews, 07-Апр-22, 21:12  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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