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 01:33 | Komunita

    Vojtěch Polášek představil Vojtux, tj. linuxovou distribuci pro zrakově postižené uživatele. Vychází ze spinu Fedory 43 s desktopovým prostředím MATE. Konečným cílem je, aby žádný Vojtux nebyl potřeba a požadovaná vylepšení se dostala do upstreamu.

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

    Byla vydána (Mastodon, 𝕏) druhá RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | IT novinky

    Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.

    Ladislav Hagara | Komentářů: 13
    včera 14:00 | IT novinky

    Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným

    … více »
    Ladislav Hagara | Komentářů: 6
    včera 12:22 | Pozvánky

    Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.

    TomasVondra | Komentářů: 0
    včera 12:11 | Pozvánky

    Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.

    VSladek | Komentářů: 0
    14.12. 00:44 | Zajímavý článek

    Máirín Duffy a Brian Smith v článku pro Fedora Magazine ukazují použití LLM pro diagnostiku systému (Fedora Linuxu) přes Model Context Protocol od firmy Anthropic. I ukázkové výstupy v samotném článku obsahují AI vygenerované nesmysly, např. doporučení přeinstalovat balíček pomocí správce balíčků APT z Debianu místo DNF nativního na Fedoře.

    |🇵🇸 | Komentářů: 37
    13.12. 04:55 | Zajímavý software

    Projekt D7VK dospěl do verze 1.0. Jedná se o fork DXVK implementující překlad volání Direct3D 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 1
    12.12. 16:00 | Nová verze

    Byla vydána nová verze 2025.4 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í na blogu.

    Ladislav Hagara | Komentářů: 2
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (19%)
     (17%)
     (22%)
     (14%)
     (24%)
     (15%)
     (17%)
    Celkem 467 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    Rozcestník

    Dotaz: Co je shnilého na operátoru rozsahu v Perlu ?

    15.12.2006 22:36 amnesiac
    Co je shnilého na operátoru rozsahu v Perlu ?
    Přečteno: 138×
    V jednom programu potřebuju uložit pole do hashe, kde klíče v hashi jsou poziční indexy a hodnoty pak hodnoty z pole. Problém nastává u rozsáhlých polí. Následující triviální kód posílá systém do kolen, resp. swapuje i při 512MB volný paměti, což se mi zdá hodně nepřiměřený.

    @indexy = ( 1 .. 10e6 )

    Ekvivalent v Pythonu přitom proběhne bez swapování a za zlomek času. A to nepoužívám fci xrange.

    indexy = range(1, 10e6)

    Pro úplnost ta konstrukce z programu

    # pole @primes obsahuje cca 5 mil. celočíselných hodnot
    @hash{ (1 .. $#primes + 1) } = @primes

    Perl v5.8.8

    Je ta ukrutná spotřeba paměti bug ? Lze to obejít bez použití cyklu ?

    Odpovědi

    15.12.2006 23:54 b0rmann | skóre: 15 | Pardubice
    Rozbalit Rozbalit vše Re: Co je shnilého na operátoru rozsahu v Perlu ?
    A co tak?

    %hash=map {++$i=>$_} @primes;
    --- Gott strafe Amerika
    16.12.2006 10:16 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Co je shnilého na operátoru rozsahu v Perlu ?
    Na každý skalár v perlu se alokuje něco kolem 40byte + nějaké ta režije pole a jste na 44byte na prvek v desetimiliónprvkovém poli.
     1528 hynek      9   0  613m 449m 142m S  0.0 89.3   0:11.86 perl
    Narozdíl od pythonu to opravdu není nijak optimalizované. Na efektivní práci s takovými strukturami jsou vec, případně Int::BigVec a pod. Stejně mi ale uniká, proč to děláte. Rychlost přístupu $hash{$cislo} není lepší než $primes[$cislo]. Pochopil bych opačný postup @hash{@primes} = (); a test typu $isPrime = exists $hash{$cislo};
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    16.12.2006 10:17 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Co je shnilého na operátoru rozsahu v Perlu ?
    s/Int::BigVec/Int::BitVec/
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    16.12.2006 11:26 amnesiac
    Rozbalit Rozbalit vše Re: Co je shnilého na operátoru rozsahu v Perlu ?
    Díky moc.

    Co mi ale není furt jasný, že následující konstrukce s multiplikátorem má spotřebu paměti daleko menší ?! Proto jsem viděl problém v operátoru .. .

    perl -lwe '@indexy = (10e6) x 10e6; print $pole[10e6-1]'
    
    a výstup ps těsně před skončením
    
    ps -o pid,cmd,size,rss,vsz -C perl
      PID CMD                            SZ   RSS    VSZ
    20215 perl -lwe @pole = (10e6) x  299332 273532 303976
    
    16.12.2006 11:34 amnesiac
    Rozbalit Rozbalit vše Re: Co je shnilého na operátoru rozsahu v Perlu ?
    Grrr. Samozřejmě mělo být:

    perl -lwe '@indexy = (10e6) x 10e6; print $indexy[10e6-1]'
    
    a
    
    ps -o pid,cmd,size,rss,vsz -C perl
      PID CMD                            SZ   RSS    VSZ
    20215 perl -lwe @indexy = (10e6) x  299332 273532 303976

    Sorry.

    16.12.2006 12:34 amnesiac
    Rozbalit Rozbalit vše Re: Co je shnilého na operátoru rozsahu v Perlu ?
    Ještě varianta přes cyklus:

    perl -le 'for ($i=1; $i <= 10e6; $i++) { push @pole,$i; } print $pole[10e6-1]'
    
    ps -o pid,cmd,size,rss,vsz -C perl
      PID CMD                            SZ   RSS    VSZ
    24054 perl -le for ($i=1; $i <= 10 234804 235548 239448

    Taky vezme výrazně míň paměti.

    16.12.2006 16:46 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Co je shnilého na operátoru rozsahu v Perlu ?
    Takže problém bude asi, že to pole se vytvoří vlastně dvakrát, jednou ho udělá operátor .. a pak se ještě skopíruje do cílového pole. Při plnění do hashe to udělá dokonce čtyřikrát. Asi bude nejlepší, když to prostě nebudete dělat. On si naalokuje tu paměť a potom ji neuvolní. Myslím tím do systému, pro perl je samozřejmě volná. Jinak, když dělám podobné testy, tak používám oneliner typu
    perl -le '@hash{1..5e6} = (1..5e6); print "Hotovo"; sleep'
    Nemusíte to potom nijak odchytávat :-)
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    16.12.2006 14:20 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
    Rozbalit Rozbalit vše Re: Co je shnilého na operátoru rozsahu v Perlu ?
    V jednom programu potřebuju uložit pole do hashe, kde klíče v hashi jsou poziční indexy a hodnoty pak hodnoty z pole.

    Jestli tomu správně rozumím, tak chcete nahradit konstrukci typu pole[index] konstrukcí hash[klíč]. Můžu se zeptat proč? V čem je pro vás hash lepší? Beztak budete tou hashí jen suplovat funkčnost pole, nebo se pletu?

    A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.

    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.