-
Data: 2023-02-17 09:30:50
Temat: Re: C++ ośla łączka
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Fri, 17 Feb 2023 02:35:07 +0100, JDX wrote:
> On 16.02.2023 19:56, heby wrote:
>> On 16/02/2023 19:11, Grzegorz Niemirowski wrote:
>>>> Przecież zlinkowałem arykuł, w którym masz jasno wypisane powody i
>>>> ostrzeżenie.
>>> I w sumie jako rozwiązanie podają std::atomic. Ciekawe czy atomic z C
>>> też może być.
>>
>> A co broni użyć C++, szczególnie na nowej arch? Nawet na AVR to zmiana 2
>> literek na dwa + w nazwie kompilatora i strata bodaj 4 bajtów na
>> dodatkową sekcję, którą można łatwo usunąć, jak ktoś sępi. Więc na arch,
>> gdzie atomic ma implementację, to powinno kosztować asymptotyczne zero.
> A gdzie ma implementację? Bo na np. ARMv6-M (Cortex-M0 itp.) czy starą,
> ale nadal żywą ARMv4T (np. ARM7TDMI) nie ma - kompilator woła funkcje
> zewnętrzne (https://godbolt.org/z/xxjb1Khnc), które sam musisz sobie
> zaimplementować bo libatomic dla tych architektur nie jest wspierana.
> Więc może volatile + trochę ,,static inline" będzie szybsze - w sensie
> zarówno pisania kodu jak i jego wykonania. :-)
Ale przybywa rdzeni, wiec samo volatile to raczej nie jest zastępnik.
> Na ARMv7-M jest lepiej, ale IMO nie idealnie:
> https://godbolt.org/z/o4Mj6er51 - niezbyt rozumiem dlaczego dla
> 64-bitowego inta jest wołana funkcja zewnętrzna zamiast zinajnowania
> dodawania obudowanego LDREX/STREX tak jak na ARMv7-A (tutaj wygląda to
> ładnie).
jest ldrexd/strexd ... ktorych zdaje sie nie ma w armv7-M.
A dwa ldrex/strex nie bedą atomic.
J.
Następne wpisy z tego wątku
- 17.02.23 10:17 JDX
- 17.02.23 10:28 heby
- 17.02.23 10:41 JDX
- 17.02.23 14:31 J.F
- 17.02.23 14:51 heby
- 17.02.23 16:21 Grzegorz Niemirowski
- 17.02.23 18:56 heby
- 17.02.23 20:20 Piotr Gałka
- 17.02.23 20:23 heby
- 17.02.23 20:30 Piotr Gałka
- 17.02.23 20:42 J.F
- 17.02.23 20:44 Piotr Gałka
- 17.02.23 21:08 Piotr Gałka
- 17.02.23 21:21 Piotr Gałka
- 17.02.23 21:35 Piotr Gałka
Najnowsze wątki z tej grupy
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
Najnowsze wątki
- 2025-03-11 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-03-11 Łódź => System Administrator (Linux, Active Directory) <=
- 2025-03-10 roaming
- 2025-03-10 wodor
- 2025-03-10 Ostrów Wielkopolski => NodeJS Developer <=
- 2025-03-10 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-10 Częstochowa => Backend Developer (Node + Java) <=
- 2025-03-10 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-03-10 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-10 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Szczecin => Key Account Manager IT <=
- 2025-03-10 Warszawa => Node.js / Fullstack Developer <=
- 2025-03-10 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-10 Gliwice => Business Development Manager - Network and Network Security