abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    17.4. 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (20%)
    Celkem 562 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    18.6.2009 20:08 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Má být podmínková proměnná volatile?
    Pratele, mne se zda, ze nejen ze neznate standard, ...

    V mém případě je to naprostá pravda. Tu šílenou bichli jsem skutečně nečetl.

    Po zavolani fce clobber() musi prekladac znovu nacist hodnotu *a z pameti, nemuze vedet, jestli se mezitim nezmenila, protoze nezna definici clobber() a nevi, co presne dela. Takze zaverecny if nemuze odoptimalizovat.

    Vsuktu? Platí tohle i v případě, že knihovnu s funkcí clobber() linkuji staticky? Co když funkce clobber() neobsahuje vůbec žádný mov se zápisem do paměti (na Intelu)? Co když neobsahuje žádný store (na nějakém RISCu)? Klidně může existovat funkce, která vůbec nikam do paměti nepíše. (Kromě manipulace se zásobníkem, ale na tu opravdu nikdo jiný paralelně nesahá.) Opravdu si něčeho takového kompilátor nesmí všímat? Ani v budoucnu?

    Nejaky hypoteticky prekladac budoucnosti by teoreticky tuto optimalizaci mohl provest, ale jen pokud by zanalyzoval cely program a dosel k zaveru, ze zadne jine vlakno a ani nikdo jiny nebude v prubehu vykonavani fce pthread_cond_wait() menit hodnotu itemsAvailable.

    Žádný překladač se určitě nepustí do tohoto algoritmicky neřešitelného problému. ;-) Nicméně pořád mi připadá v zásadě správné tu proměnnou označit jako volatile...

    Klicove slovo volatile je zcela zbytecne, protoze to oc vam jde, totiz natahnuti hodnoty promene z pameti po pripadnem probuzeni, zaruci samo volani funkci kolem mutexu.

    Možná. Například klíčové slovo const před deklarací pointerů je taktéž na spoustě míst (na první pohled) zbytečné, nicméně chrání programátora před budoucími ošklivými chybami. Říká „pozor, s těmito daty si nemůžeš hrát, ta ještě bude někdo potřebovat“. A volatile zase říká „pozor, s těmihle daty si občas paralelně hraje někdo jiný“. Že kompilátor možný problém postřehne a že nebude optimalizovat přístup do paměti přes volání funkcí, není z pohledu logiky celé věci až tak relevantní.

    Deklaraci volatile akorat svuj program zpomalujete (potencialne docela hodne, zalezi jak casto s takovou promennou pracujete), protoze prekladac nutite nacitat/zapisovat promennou z/do pameti vzdy, i kdyz nehrozi, ze by ji nekdo jiny zmenil.

    Zpomaluji? Pokud se ta proměnná čte i zapisuje vždy pouze pod (jedním a tím samým) mutexem a pokud mezi každými dvěma přísupy k té proměnné leží alespoň jedno volání funkce (třeba pthread_cond_wait(), když nic jiného), měla by být „rychlost“ programu s volatile i bez volatile srovnatelná. Nebo jsem něco přehlédl?

    Velmi striktně vzato, jediné místo, kde je volatile skutečně bezpodmínečně potřeba, je spinlock. (Ten samozřejmě v userspace nemá co dělat, leda snad v implicitní podobě, kterou zajišťuje adaptivní mutex.) Nicméně stále mám (možná mylný) dojem, že použití volatile u podmínkové proměnné je tak nějak „logicky správné“. Navíc (jak už jsem poznamenal) skutečně nevidím žádné nevýhody stran efektivity. (Ale můžu se mýlit, což se mi stává často.)

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.