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 15:44 | Komunita

Projekt LiMux skončil. Mnichov se vrací k Windows. Rada města na svém včerejším zasedání schválila migraci všech počítačů na Windows 10 do roku 2020.

Ladislav Hagara | Komentářů: 2
dnes 08:00 | Pozvánky

V Praze dnes probíhá konference Internet a Technologie 17.2 pořádaná sdružením CZ.NIC. Sledovat ji lze online. K dispozici je také archiv předchozích konferencí. Sdružení nedávno vydalo bezpečnostní pexeso. Ke stažení jako pdf pod licencí CC BY-NC-SA.

Ladislav Hagara | Komentářů: 0
dnes 07:22 | Nová verze

Byla vydána verze 10.2 a krátce na to opravná verze 10.2.1 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 12
dnes 06:22 | Pozvánky

V úterý 28. listopadu se v Brně koná již 4. přednáškový večer Ruby Stories. Těšit se můžete na témata jako TDD, hybridní mobilní aplikace či programování v Elixiru. Více informací na Facebooku nebo se rovnou registruj na Eventbrite. Na místě bude zdarma drink a lehké občerstvení, tak dorazte.

ondrej-zadnik | Komentářů: 0
dnes 06:11 | Pozvánky

V úterý 28. 11. 2017 bude další Prague Containers Meetup. DC/OS a Mesos vás provede Mesosphere's Developer Advocate Matt Jarvis.

little-drunk-jesus | Komentářů: 0
včera 14:44 | Komunita

Mozilla.cz informuje, že Firefox bude možná upozorňovat na úniky vašich hesel. V Mozille prototypují upozorňování na únik informací o vašem účtu, pokud se na seznamu Have I been pwned? objeví služba, ke které máte ve Firefoxu uložené přihlašovací údaje. Informace se objevila v pravidelném newsletteru o vývoji Firefoxu.

Ladislav Hagara | Komentářů: 5
včera 00:22 | Bezpečnostní upozornění

Společnost ZONER informuje o bezpečnostním incidentu, při kterém došlo ke zcizení a zveřejnění části přihlašovacích údajů zákazníků k elektronické poště a webhostingu CZECHIA.COM.

Ladislav Hagara | Komentářů: 1
22.11. 23:44 | Nová verze

Byla vydána nová stabilní verze 1.13 (1.13.1008.32) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují možnost zobrazení otevřených i uzavřených listů pomocí ikonky Okno na postranní liště a vylepšené stahování (YouTube). Nejnovější Vivaldi je postaveno na Chromiu 62.0.3202.97.

Ladislav Hagara | Komentářů: 9
22.11. 20:55 | Nová verze

Byla vydána verze 2017.3 dnes již průběžně aktualizované linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux. Aktualizovat systém lze pomocí příkazů "apt update; apt dist-upgrade; reboot". Z novinek lze zmínit 4 nové nástroje: InSpy, CherryTree, Sublist3r a OSRFramework.

Ladislav Hagara | Komentářů: 1
22.11. 01:55 | Bezpečnostní upozornění

Společnost Uber potvrdila bezpečnostní incident a únik dat v roce 2016. Unikly údaje o 57 milionech cestujících (jména, emailové adresy a čísla mobilních telefonů) a 600 tisících řidičích (navíc čísla řidičských průkazů).

Ladislav Hagara | Komentářů: 1
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (9%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 762 hlasů
 Komentářů: 37, poslední 21.11. 15:21
    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: 63×
    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.