The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Rust вошёл в 20 самых популярных языков по рейтингу Redmonk"
Отправлено Аноним, 31-Июл-20 23:31 
> Не благодари. Я ж не о тебе вещаю. А о реальном мире.

А мои фирмвари в параллельном измерении чтоли?

> И примеров масса. Половина кодеков писана на асме.

Щаззз! У меня видите ли есть такое хобби - алгоритмы нравятся. И вот кодеков у меня есть. И таки писаны они все же на си. С небольшими вставками на асме в критичных местах. С фалбэком на чистом си для случая когда систему команд не знаем совсем. То-есть, пишется референс на чистом си, потом - оптимизится местами, с опциональными, в общем то, вставками, там где это разгоняет алгоритм. Так что на асме писаны не кодеки а только оптимизации.

В последнее время кстати пошла мода оформлять сие simd intrinsic'ами. Сказать что они вот прям 100% си конечно кривовато, но они все же записаны сишным синтаксисом. А в чем пойнт? Оно теоретически несколько портабельнее: запрошенная simd операция в принципе может быть изображена из того что есть на вон той платформе, но и на другой платформе оно тоже прокатит, если там есть из чего это эффективно изобразить. На практике, конечно, это сильно менее портабельно чем нормальный си, т.к. некоторые фичи зело уж специфичны и не имеют потребных аналогов на других платформах.

> Асма полно в libc,  какую из реализаций не возими.

В musl вот прямо завалов асма не видел. Меня из него правда в основном работа с временем интересовала - и там совершенно точно никакого асма не было.

> Начальная инициализация проца при старте практически всегда писана на асме.

Я таки бутанул cortex-M гольным си. Без стартапа даже, лол. Мне было интересно проверить насколько арм гонит что можно одними сями. Вообще, не врут. Но есть нюансы :). Так что пару мелких кусочков все же логично юзать, как минимум CPSIE I и CPSID I (глобальный irq en/dis).

> Да ее, за редким исключением, по другому не реализовать.

Cortex M вполне себе втапливают с места в карьер одними сями. Если без стартапа, в начальный момент arena не соответствует стандарту, но с этим можно жить и после пары нехитрых операций окружение приходит в соответствие. Так что си может быть и startup-ом для си. Забавно.

> Хош пример для МК - так вот HID USB для АVR-ок тоже реалзовано с использованием асма,
> где надо стабильное время исполнения и гарантированные тайминги.

Это тот софтварный юсб? Ну да, забавный извратик и masterpiece. Но накладывает сильно дофига ограничений, и вообще, сейчас нормальный хардварный usb подпертый буфером и dma не есть экзотика, чтобы так дико изгалаться.

А так я на сях довольно крутые тайминги степперу без проблем отрисовал. Конечно не 1.5 мегабита как в юсб, но вообще довольно прилично. И между нами, STM32 кроет AVR по фичам как бык овцу. Даже если забыть про USB. И я как-то не очень видел желающих его на асме сильно прогать. Хоть теоретически так и можно.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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