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 08:44 | Zajímavý software

    Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).

    Fluttershy, yay! | Komentářů: 0
    dnes 02:22 | Nová verze

    Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    8.6. 17:55 | Komunita

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

    Ladislav Hagara | Komentářů: 8
    7.6. 14:55 | IT novinky

    Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.

    Ladislav Hagara | Komentářů: 9
    7.6. 11:44 | Zajímavý software

    NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    7.6. 10:55 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.

    Ladislav Hagara | Komentářů: 0
    6.6. 20:55 | IT novinky

    IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.

    Ladislav Hagara | Komentářů: 0
    6.6. 10:44 | Zajímavý článek

    Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.

    Ladislav Hagara | Komentářů: 42
    6.6. 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    6.6. 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    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: 287×
    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.