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

Hector "marcan" Martin – hacker, který jako první zveřejnil zdrojové kódy ovladače pro Kinect pod svobodnou licencí nebo dostal Linux a Steam na PlayStation 4 – se bude díky podpoře na Patreonu od ledna naplno věnovat Linuxu na Apple Siliconu aneb Linuxu na počítačích Apple s novým ARM procesorem M1.

Ladislav Hagara | Komentářů: 3
dnes 07:00 | Zajímavý článek

Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) rozšířil své podpůrné materiály týkající se kybernetické bezpečnosti o dokument "Ransomware: Doporučení pro mitigaci, prevenci a reakci" (pdf).

Ladislav Hagara | Komentářů: 4
včera 20:22 | Nová verze

Příspěvek na blogu webové aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) představuje novinky a ukazuje náhledy nové major verze 1.13.0 této v programovacím jazyce Go naprogramované aplikace.

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

Byla vydána nová verze 2020.12.01 distribuce BlackArch Linux (Wikipedie). Jedná se o distribuci založenou na Arch Linuxu zaměřenou na penetrační testování a výzkum počítačové bezpečnosti. Z novinek lze zmínit přes 100 nových nástrojů. Aktuálně jich je 2608.

Ladislav Hagara | Komentářů: 0
včera 18:00 | Komunita

Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu aktuálně činí 0,90 %. Nejčastěji používanou linuxovou distribucí je Ubuntu 20.04.1 LTS 64 bit. Přehled her oficiálně podporujících SteamOS a Linux na stránkách Steamu. Přehled her pro Windows běžících na Linuxu díky Protonu na stránkách ProtonDB.

Ladislav Hagara | Komentářů: 0
1.12. 17:22 | Bezpečnostní upozornění

Byly zveřejněny informace o dvou bezpečnostních chybách CVE-2020-14360 a CVE-2020-25712 v X.Org serveru. Chyby jsou zneužitelné k lokální eskalaci práv (pokud X server běží pod právy roota).

Ladislav Hagara | Komentářů: 13
1.12. 16:22 | Nová verze

Byla vydána nová verze 4.0 aplikace pro práci s KeePass databázemi - Password Safe. Přináší zejména plnou podporu Librem 5, PinePhone a dalších linuxových telefonů, dále pak výrazné zrychlení při práci s databází a opravu mnoha chyb. Aplikace je k dispozici na Flathubu, případně jako distribuční balíček.

David Heidelberg | Komentářů: 0
1.12. 15:11 | Komunita

Dle plánu bylo spuštěno předobjednávání telefonů PinePhone KDE Community Edition aneb telefonů PinePhone od společnosti PINE64 s předinstalovaným uživatelským rozhraním Plasma Mobile.

Ladislav Hagara | Komentářů: 0
1.12. 08:00 | Zajímavý projekt

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2020 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2020. Pro programátory v Perlu je určen Perl Advent Calendar 2020, pro zájemce o kybernetickou bezpečnost Advent of Cyber, …

Ladislav Hagara | Komentářů: 1
1.12. 07:00 | IT novinky

Humble Bundle nabízí balík technické literatury z oblasti počítačové bezpečnosti od vydavatelství No Starch Press v digitální podobě bez DRM, a to za zvýhodněnou cenu aspoň cca 1-15 eur. Akce Humble Book Bundle: Hacking 101 by No Starch Press trvá do 21. prosince.

Fluttershy, yay! | Komentářů: 2
Používáte některý systém pro správu verzí (VCS) jiný než git?
 (6%)
 (21%)
 (15%)
 (12%)
 (58%)
 (21%)
Celkem 33 hlasů
 Komentářů: 1, poslední včera 03:00
Rozcestník

Dotaz: shell, skript, rychlost.

10.12.2004 08:32 JaSel | skóre: 17 | blog: kseles
shell, skript, rychlost.
Přečteno: 433×
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.