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

    Dibuja je jednoduchý kreslící program inspirovaný programy Paintbrush pro macOS a Malování pro Windows. Vydána byla verze 0.26.0.

    Ladislav Hagara | Komentářů: 0
    včera 23:33 | Nová verze

    Byla vydána nová verze 9.13 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.22.0, tj. první z nové řady 3.22, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    30.5. 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 44
    29.5. 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    29.5. 14:55 | Nová verze

    Společnost Netgate oznámila vydání nové verze 2.8.0 open source firewallové, routovací a VPN platformy pfSense (Wikipedie) postavené na FreeBSD. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    29.5. 14:00 | Nová verze

    Byla vydána nová verze 6.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 14.5.3. Linux na verzi 6.1.140. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    29.5. 12:33 | Zajímavý článek

    Člověk odsouzený za obchod s drogami daroval letos ministerstvu spravedlnosti 468 kusů kryptoměny bitcoin, které pak resort v aukcích prodal za skoro miliardu korun. Darováním se zabývá policejní Národní centrála proti organizovanému zločinu (NCOZ). Deníku N to potvrdil přímo ministr spravedlnosti Pavel Blažek (ODS). Podle resortu bylo nicméně vše v souladu s právem.

    Ladislav Hagara | Komentářů: 59
    28.5. 20:44 | Nová verze

    Svobodný a otevřený multiplatformní editor EPUB souborů Sigil (Wikipedie, GitHub) byl vydán ve verzi 2.5.0. Stejně tak doprovodný vizuální EPUB XHTML editor PageEdit (GitHub).

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (56%)
     (31%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 171 hlasů
     Komentářů: 13, poslední 30.5. 12:26
    Rozcestník

    Dotaz: Asyncio: Rozdíl tasků, jen list vs list s create_task()

    27.11.2023 01:27 Olaf
    Asyncio: Rozdíl tasků, jen list vs list s create_task()
    Přečteno: 472×
    Chystám se některé své kódy, u kterých je to možné, oprostit od kombinace Redis + RQ. A to tak, že je přepisuji v Pythonu pomocí využití asyncio. Chci se zeptat, jaký je rozdíl mezi tím, když použiji jen seznam funkcí, které se mají spustit, a když tento seznam bude sestávat z opravdových asyncio tasků definovaných pomocí asyncio.create_task()? Protože v obou případech je časový výsledek týž (viz kód níže). Jde říct, že pomocí create_task() lze pracovat s výjimkami tak, že mi nespadne během chyby běh komplet celého seznamu?

    Totálně primitivní příklad:
    async def fetch_url(url):
        print(f"Getting {url}...")
        await asyncio.sleep(0.5)
        return "Response OK. Done"
    
    Verze pouze s prostým listem:
    async def main():
        start_time = time.time()
        tasks = [fetch_url(url) for url in URLS]
    
        results = await asyncio.gather(*tasks)
        end_time = time.time()
        elapsed = end_time - start_time
        print(f"Fetching took {elapsed:.2f} seconds.")
        return results
    
    Verze s asyncio taskem:
    async def main():
        start_time = time.time()
        tasks = [asyncio.create_task(fetch_url(url)) for url in URLS]
    
        results = await asyncio.gather(*tasks)
        end_time = time.time()
        elapsed = end_time - start_time
        print(f"Fetching took {elapsed:.2f} seconds.")
        return results
    
    V obou případech je čas běhu stejný, tj. 0,5 s, na rozdíl od synchronního kódu, kde pro 15 URL to trvá, jak by člověk čekal, 7,5 sekundy.

    Odpovědi

    27.11.2023 01:54 Olaf
    Rozbalit Rozbalit vše Re: Asyncio: Rozdíl tasků, jen list vs list s create_task()
    OK, uvědomil jsem si, že asyncio.gather() dělá seznam tasků, takže kombinace s create_task() je zcela zbytečná.
    27.11.2023 02:00 X
    Rozbalit Rozbalit vše Re: Asyncio: Rozdíl tasků, jen list vs list s create_task()

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.