-
Data: 2023-02-17 02:35:07
Temat: Re: C++ ośla łączka
Od: JDX <j...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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. :-)
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).
Następne wpisy z tego wątku
- 17.02.23 07:17 Marek
- 17.02.23 09:18 heby
- 17.02.23 09:30 J.F
- 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
Najnowsze wątki z tej grupy
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
Najnowsze wątki
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-10 Lublin => Programista Delphi <=
- 2025-02-10 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-10 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-10 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-10 Kraków => iOS Developer (Swift experience) <=