The OpenNET Project / Index page

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



"Релиз языка программирования Rust 2021 (1.56) "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Релиз языка программирования Rust 2021 (1.56) " +/
Сообщение от AA_suited (ok), 26-Окт-21, 03:07 
> и так же скромно пропустив тему "почему исключения лучше явной
> обработки ошибок (и паники в случае забивания на обработку)".

Исключения не лучше, они другие. Они нужны даже и в том случае, когда имеется явная обработка ошибок, даже и такая общепризнанная, как в расте.

И примером как раз является случай, когда надо сложить (а ещё возможно и умножить) много чисел. А в случае переполнения кинуть эксепшен и перескочить на другую ветвь кода, где вычисления пойдут, допустим, с двойной точностью. Затем с четверной. Затем, допустим, с восьмерной, а затем и с неограниченной.

4 исключения на 1 000 000 000 чисел -- это же не такой большой оверхед, правда?  

И ещё один важный момент. Не знаю как щас у х86, но исключение по переполнению целых чисел можно кидать асинхронно на уровне процессора, а не тупо синхронно проверять флаг после каждого сложения. Итаниум кажется так делает, подозреваю что и х86.

Кстати... что по-твоему компилятору легче эффективно векторизовать в 1024-битные (ладно, пока что 512-битные) регистры: код с checked_add или экспешенами?

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

Оглавление
Релиз языка программирования Rust 2021 (1.56) , opennews, 21-Окт-21, 22:01  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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