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í
×
    včera 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

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

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 5
    včera 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 33
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 2
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    25.4. 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    25.4. 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (74%)
     (9%)
     (2%)
     (16%)
    Celkem 806 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: shell, skript, rychlost.

    10.12.2004 08:32 JaSel | skóre: 17 | blog: kseles
    shell, skript, rychlost.
    Přečteno: 453×
    Zdravim, resim nasledujici problem. Jako vystup z mericiho pristroje (DMA) mam textovy soubor visco.dat, ktery v podstate obsahuje tri sloupce ciselnych dat. Je v nem zapsano celkem 285 skenu po 2048 radcich, oddelenych vzdycky 5 radky balastu. Velikost souboru je asi 20MiB.
    bash-2.05b$ wc visco.dat
    585105 1754175 19876543 visco.dat
    Potreboval bych jako vystup soubor visco.txt, zbaveny toho balastu, aby v nem zbyly jenom ty cisla. Zaroven (pro jistotu, kdyby ten vysledek byl tak velky, ze by ho nasledne Octave neschroupla -- neznam limity Octave, takze jistota je jistota), bych chtel jako vystup rozdeleny do 285 souboru podle tech skenu. Napsal jsem si na to nasledujici skript: #!/bin/bash

    # Sortovani viskozitnich dat z DMA
    # vzdycky 5 radku srotu a 2048 radku dat;
    # v souboru visco.dat, celkem 285x
    rm c
    declare -i a b c;
    a=0;
    until [ $a = 285 ]; do
    echo $a
    b=0;
    until [ $b = 2048 ]; do
    c=2053*a+b+6;
    sed -ne "$c p" visco.dat >> visco.$a;
    sed -ne "$c p" visco.dat >> visco.txt;
    b=b+1;
    done
    a=a+1;
    done
    Skript jsem spustil vcera odpoledne a dneska rano jsem ocekaval vysledek. Prave ted je to nekde u 55. skenu, takze je hotova asi jedna petina. To se mi zda pomerne pomale (Athlon 750MHz, 320MiB RAM, Slackware 9.1, kernel 2.6.9, reiserfs). Podel top basti skript okolo 0.3 % CPU i RAM, sed mezi 2-20 % CPU a cca 5 % RAM. Predpokladam, ze podobnou ulohu budu resit casteji, tak bych se chtel zeptat, jestli nekoho nenapada, jak to trochu urychlit. DMA masina vychrli tenhle soubor dat asi po hodine mereni a to je jeden vzorek. Mozna by to chtelo postavit se k tomu problemu uplne jinak, ja jsem vychazel z toho, co uz znam (a toho neni v oblasti programovani a psani skriptu mnoho). Dik za rady, JS

    Odpovědi

    10.12.2004 09:56 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: shell, skript, rychlost.
    To je fakt drsné řešení ;-) Navíc se děsím, co udělá řádek c=2053*a+b+6; (hint: shell nevyhodnocuje aritmetické výrazy ,jen tak`)

    Jde to řešit různě, řešení asi ideově nejpodobnější tvému vypadá (nazvěme to v.sed):
    #!/bin/sed -nf
    1,2048 wvisco.1
    2049,2052 wvisco.txt
    2053,4100 wvisco.2
    4101,4105 wvisco.txt
    ...
    
    které použiješ
    ./v.sed <visco.dat
    
    Samozřejmě, že v.sed je sám také generovatelný, což uděláš jednou nebo když se změní počty.
    10.12.2004 10:24 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: shell, skript, rychlost.
    Špatně jsem si přečetl zadání. No stejně to bylo kvadratické.
    #!/usr/bin/python
    import sys
                                          # Zdravím Leoše a děkuji mu za P tagy
    base = 'visco'
    nd = 2048
    nt = 5
                                          # Zdravím Leoše a děkuji mu za P tagy
    i = 0
    for line sys.stdin:
        if i % (nd + nt) == 0:
            fi = file(base + ('.%03d' % (i/(nd + nt) + 1)), 'w')
        if i % (nd + nt) < nd:
            fi.write(line)
        i += 1
    
    Spojit výsledky catem snad zvládneš.
    10.12.2004 10:13 MOJE
    Rozbalit Rozbalit vše Re: shell, skript, rychlost.
    smarja pano :-)
    to bude mockrat projity soubor. Co zkusit misto sedu pouzit proste read a ten soubor tomu skriptu nacpat na standardni vstup. pak ten algoritmus bude vypadat priblizne takhle:
    for((i=0;i<285;i++)); do
    #nejdriv prectu balast
      for((j=0;j<5;j++)); do
         read radek;
      done 
    #pak uzitecne radky
      for((j=0;j<2048;j++)); do
         read radek;
         echo $radek >>visco.$i
         echo $radek >>visco.txt
      done
    done
    
    Rekl bych, ze tohle to opravdu dokaze "trochu" urychlit
    10.12.2004 10:23 MOJE
    Rozbalit Rozbalit vše Re: shell, skript, rychlost.
    Jo a jen tak na otestovani na Athlon64 2800 to trvalo necele 2 minuty. Napsane v C by to bylo samozrejme daleko rychlejsi, ale to ma asi cenu tak od 10000 radku na mereni.
    10.12.2004 12:00 JaSel | skóre: 17 | blog: kseles
    Rozbalit Rozbalit vše Re: shell, skript, rychlost.
    Diky za napady.

    Vezmu to poporade. Radek c=2053*a+b+6; jsem odzkousel, pocita mi cisla radku, ktere me zajimaji. Python vubec neznam (resp. vim, ze existuje), takze me to nenapadlo. Nejvice se mi libi to posledni reseni -- jeste jednou diky, vyzkousim.

    JS
    29.12.2004 04:56 Honza_S
    Rozbalit Rozbalit vše Re: shell, skript, rychlost.
    Kdysi jsem provadel filtrovani textu o velikosti cca 10-50MB textu. Vysledek na P3/950Mhz a 128MB RAM byl kolem 20-50 sekund v jazyce C. Pricemz jsem si vsimnul zajimave veci: texty jsem nechal default zkomprimovat pomoci gzipu - velikost pak byla 3x - 4x mensi, cas zpracovani se zmensil na cca 7-10 sekund (pochopitelne bez casu nutneho ke komprimaci) u puvodniho text. souboru o velikosti 30MB.

    Z jineho soudku: na svem serveru mam v provozu php stranku, kde je moznost zobrazeni datoveho provozu za posledni 3 dny (Asi 1000 poslednich radku textoveho logu). Doba zpracovani v bash-i trva asi 7 sekund (generovani grafu), pro prepsani do C tato operace je temer okamzite <0.1s.

    Doporucuji u takovychto "silovych" operaci jazyk C, pripadne pouziti zlib, pokud je nutnost opakovaho filtrovani - i pro usporu mista.

    Honza

    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.