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 16:11 | Nová verze

    Bylo oznámeno (cs) vydání Fedora Linuxu 40. Přehled novinek ve Fedora Workstation 40 a Fedora KDE 40 na stránkách Fedora Magazinu. Současně byl oznámen notebook Slimbook Fedora 2.

    Ladislav Hagara | Komentářů: 3
    dnes 13:44 | Upozornění

    ČTK (Česká tisková kancelář) upozorňuje (X), že na jejím zpravodajském webu České noviny byly dnes dopoledne neznámým útočníkem umístěny dva smyšlené texty, které nepocházejí z její produkce. Jde o text s titulkem „BIS zabránila pokusu o atentát na nově zvoleného slovenského prezidenta Petra Pelligriniho“ a o údajné mimořádné prohlášení ministra Lipavského k témuž. Tyto dezinformace byly útočníky zveřejněny i s příslušnými notifikacemi v mobilní aplikaci Českých novin. ČTK ve svém zpravodajském servisu žádnou informaci v tomto znění nevydala.

    Ladislav Hagara | Komentářů: 14
    dnes 13:33 | Komunita

    Byla založena nadace Open Home Foundation zastřešující více než 240 projektů, standardů, ovladačů a knihoven (Home Assistant, ESPHome, Zigpy, Piper, Improv Wi-Fi, Wyoming, …) pro otevřenou chytrou domácnost s důrazem na soukromí, možnost výběru a udržitelnost.

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

    Společnost Meta otevírá svůj operační systém Meta Horizon OS pro headsety pro virtuální a rozšířenou realitu. Vedle Meta Quest se bude používat i v připravovaných headsetech od Asusu a Lenova.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | IT novinky

    Společnost Espressif (ESP8266, ESP32, …) získala většinový podíl ve společnosti M5Stack, čímž posiluje ekosystém AIoT.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová stabilní verze 3.5 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). Přehled novinek také na YouTube. Nově lze využívat cloud (audio.com). Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.

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

    50 let operačního systému CP/M, článek na webu Computer History Museum věnovaný operačnímu systému CP/M. Gary Kildall z Digital Research jej vytvořil v roce 1974.

    Ladislav Hagara | Komentářů: 2
    včera 16:22 | Pozvánky

    Byl zveřejněn program a spuštěna registrace na letošní konferenci Prague PostgreSQL Developer Day, která se koná 4. a 5. června. Na programu jsou 4 workshopy a 8 přednášek na různá témata o PostgreSQL, od konfigurace a zálohování po využití pro AI a vector search. Stejně jako v předchozích letech se konference koná v prostorách FIT ČVUT v Praze.

    TomasVondra | Komentářů: 0
    včera 03:00 | IT novinky

    Po 48 letech Zilog končí s výrobou 8bitového mikroprocesoru Zilog Z80 (Z84C00 Z80). Mikroprocesor byl uveden na trh v červenci 1976. Poslední objednávky jsou přijímány do 14. června [pdf].

    Ladislav Hagara | Komentářů: 6
    včera 02:00 | IT novinky

    Ještě letos vyjde Kingdom Come: Deliverance II (YouTube), pokračování počítačové hry Kingdom Come: Deliverance (Wikipedie, ProtonDB Gold).

    Ladislav Hagara | Komentářů: 13
    KDE Plasma 6
     (72%)
     (10%)
     (2%)
     (17%)
    Celkem 695 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: 452×
    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.