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 14:44 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 14.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 2
    dnes 13:11 | Zajímavý projekt

    Just the Browser je projekt, 'který vám pomůže v internetovém prohlížeči deaktivovat funkce umělé inteligence, telemetrii, sponzorovaný obsah, integraci produktů a další nepříjemnosti' (repozitář na GitHubu). Využívá k tomu skrytá nastavení ve webových prohlížečích, určená původně pro firmy a organizace ('enterprise policies'). Pod linuxem je skriptem pro automatickou úpravu nastavení prozatím podporován pouze prohlížeč Firefox.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 16:44 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.18. Díky 174 přispěvatelům.

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

    Miliardy korun na digitalizaci služeb státu nestačily. Stát do ní v letech 2020 až 2024 vložil víc než 50 miliard korun, ale původní cíl se nepodařilo splnit. Od loňského února měly být služby státu plně digitalizované a občané měli mít právo komunikovat se státem digitálně. Do tohoto data se povedlo plně digitalizovat 18 procent agendových služeb státu. Dnes to uvedl Nejvyšší kontrolní úřad (NKÚ) v souhrnné zprávě o stavu digitalizace v Česku. Zpráva vychází z výsledků víc než 50 kontrol, které NKÚ v posledních pěti letech v tomto oboru uskutečnil.

    Ladislav Hagara | Komentářů: 15
    včera 13:55 | IT novinky

    Nadace Wikimedia, která je provozovatelem internetové encyklopedie Wikipedia, oznámila u příležitosti 25. výročí vzniku encyklopedie nové licenční dohody s firmami vyvíjejícími umělou inteligenci (AI). Mezi partnery encyklopedie tak nově patří Microsoft, Amazon a Meta Platforms, ale také start-up Perplexity a francouzská společnost Mistral AI. Wikimedia má podobnou dohodu od roku 2022 také se společností Google ze skupiny

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    D7VK byl vydán ve verzi 1.2. Jedná se o fork DXVK implementující překlad volání Direct3D 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    včera 02:00 | Nová verze

    Byla vydána verze 12.0.0 knihovny libvirt (Wikipedie) zastřešující různé virtualizační technologie a vytvářející jednotné rozhraní pro správu virtuálních strojů. Současně byl ve verzi 12.0.0 vydán související modul pro Python libvirt-python. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    15.1. 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 3
    15.1. 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    15.1. 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (5%)
     (0%)
     (10%)
     (20%)
     (3%)
     (6%)
     (3%)
     (11%)
     (41%)
    Celkem 480 hlasů
     Komentářů: 12, poslední 14.1. 21:12
    Rozcestník

    Dotaz: optimalizace cteni ze souboru v BASHi

    14.10.2010 10:36 ext3fs
    optimalizace cteni ze souboru v BASHi
    Přečteno: 563×
    ahoj,

    resim jak zrychlit v BASHi prochazeni log souboru. V cyklu potrebuji nacitat po radcich coz resim pomoci:
    while read STR;
    do
       :
    done < file
    
    Pokud spustim takovy testovaci skrypt na soubor o cca 15 MB textu, tak jsou hodnoty nasledujici
    real    0m3.328s
    user    0m2.948s
    sys     0m0.380s
    
    ale cteni:
    cat file > /dev/null
    
    real    0m0.016s
    user    0m0.000s
    sys     0m0.016s
    
    
    - s pouzitim vystupu jde cas rapidne nahoru
    while read STR;
    do
       echo $STR > /dev/null
    done < file
    
    real    0m15.435s
    user    0m14.281s
    sys     0m1.060s
    
    Pridam-li do takoveho skryptu par grepu na filtrovani tak je prace s takovym souborem na nekolik minut. Je nejaka moznost urychleni?

    Diky.

    Řešení dotazu:


    Odpovědi

    14.10.2010 11:18 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: optimalizace cteni ze souboru v BASHi
    Pridat par grepov znamena sputat desattisice procesov. Spustenie externeho procesu je jedna z najdrahsich veci, ktora sa da v bashi spravit. Vzdy je lepsie pustit jeden grep na 1000 riadkov ako 1000 grepov na riadok.

    Takze bud sa lepsie naucis grep, aby si to s nim zvladol bez cyklu, alebo pouzijes sed (prip. awk) rovno na ten logfile. Alebo si pozries manual ku bashu a zistis, ze matchovanie podla regexpov sa da spravit aj v bashi cez [[ =~ ]] a pole bash_REMATCH, cim usetris spustanie externych procesov.
    If you hold a Unix shell up to your ear, you can you hear the C.
    14.10.2010 19:27 ext3fs
    Rozbalit Rozbalit vše Re: optimalizace cteni ze souboru v BASHi
    Pouziti regexu primu v bashi a omezeni spousteni grepu je opradu vyraznym zrychlenim. Diky za radu.
    15.10.2010 05:56 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: optimalizace cteni ze souboru v BASHi
    Další možností je, pokud nepracujete s nabodeníčky (utf8), používat pro nástroje typu grep, sed LANG=C.

    Např. soubor 500000 řádků kladných a záporných čísel:
    bash$ time grep "^-" soubor > soubor2
    
    real    0m13.343s
    user    0m13.322s
    sys     0m0.013s
    
    bash$ time LANG=C grep "^-" soubor > soubor2
    
    real    0m0.024s
    user    0m0.007s
    sys     0m0.010s
    Pro přístup k utf8 znakům (ke každému jednomu) se používá jiná rutina (mohou mít různou délku), takže to dost zpomaluje. Je to v zásadě chyba, možná to je už někde vyřešené/optimalizované, nevím.
    15.10.2010 06:01 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: optimalizace cteni ze souboru v BASHi
    Nebo samozřejmě i pro Bash jako ve vašem příkladě. Pro všechno co čte znaky:
    bash$ time bash -c "while read STR; do :; done < soubor"
    
    real    0m6.095s
    user    0m5.660s
    sys     0m0.430s
    
    bash$ time LANG=C bash -c "while read STR; do :; done < soubor"
    
    real    0m3.180s
    user    0m2.723s
    sys     0m0.447s
    
    14.10.2010 11:33 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: optimalizace cteni ze souboru v BASHi
    A napadlo Vás, že toto „- s použitim vystupu jde cas rapidne nahoru“ není problém čtení? :)
    A opravdu to potřebujete procházet po řádku rúčo?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    14.10.2010 11:49 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: optimalizace cteni ze souboru v BASHi
    Je nejaka moznost urychleni?
    Jediný způsob, jak zrychlit shellovský skript je použít jiný programovací jazyk ;-).

    Ale vážně - pokud jde o nějaké složité manipulace s textem, zkuste PERL (pokud ho neumíte, tak základy, abyste zbastlil náhradu grepu v cyklu přes řádky, se naučíte za pár minut). Těch 15MB pro něj nebude příliš velký problém...

    Shellovské skripty se obvykle používají, pokud Vám jde o přenositelnost (mezi různými Unixovými systémy, kde jsou k dispozici pouze základní nástroje typu grep, sed, cut ...) a nepotřebujete výkon. Nebo pokud si potřebujete zautomatizovat spuštění několika programů po sobě (a tam zpoždění pár vteřin nevadí, protože to jde určitě rychleji, než kdybyste to pouštěl ručně).
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    14.10.2010 12:33 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: optimalizace cteni ze souboru v BASHi
    Kecy. Aj v bashi sa da programovat efektivne a da sa aj prasacky. Kubicko-zlozity algoritmus v C-kcu bude na netrivialnych vstupoch dalkeo pomalsi nez linearny v bashi. Navyse nastroje, ktore typicky robia namahavu pracu su pisane v C-cku (grep, sed ai.), takze staci dodrzat par pravidiel pri ich spustani (spustat malokrat na velke vstupy a nie velakrat na male vstupy) a nebude prakticky rozdiel pri pouzivani skriptov a kompilovaneho optimalizovaneho kodu.
    If you hold a Unix shell up to your ear, you can you hear the C.

    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.