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 14:11 | IT novinky

    Vyšlo nové vydání knihy Mastering Emacs. Jedná se o aktualizaci pro Emacs 29. Knihu lze nyní koupit ve slevě, akce trvá do čtvrtka 25. července ráno.

    klifacek | Komentářů: 0
    dnes 14:00 | Nová verze

    Nástroje wpa_supplicant (Wikipedie) a související hostapd (Wikipedie) byly vydány v nové verzi 2.11.

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

    Byla vydána nová major verze 1.10.0 rychlého bezeztrátového kompresního algoritmu LZ4 (Wikipedie). Hlavní novinkou je podpora vícevláknového zpracování (multithreading).

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | Zajímavý software

    Byl představen Stremio OS pro Raspberry Pi 5 a 4, tj. operační systém postavený nad LineageOS 21 s multimediálním centrem Stremio. Stremio lze instalovat také z Flathubu.

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

    Po půl roce od vydání verze 2.39 byla vydána nová verze 2.40 knihovny glibc (GNU C Library). Přehled novinek v poznámkách k vydání a v souboru NEWS. Opraveno bylo 5 zranitelností (CVE).

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Pozvánky

    GNU Tools Cauldron 2024 proběhne v Praze na Univerzitě Karlově od 14. do 16. září 2024.

    Ladislav Hagara | Komentářů: 0
    21.7. 05:00 | Nová verze

    OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 24.07. S KDE Plasma 6 a spiny LXQt (2.0.0 Qt6) a GNOME (46.3). Vydáno bylo také ROME Plasma6 Wayland ISO. Vývojáři ale nepovažují Wayland za dostatečně vyspělý, aby mohl nahradit X11 pro většinu uživatelů. Linux byl povýšen na verzi 6.10. Přeložen je Clangem.

    Ladislav Hagara | Komentářů: 15
    21.7. 01:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    19.7. 10:49 | IT novinky

    Světem se valí vlna BSOD počítačů s operačním systémem Windows v kombinaci s bezpečnostním agentem CrowdStrike. Částečně jsou ochromeny letiště, banky, burzy, Microsoft Cloud apod. Zatím je znám jen workaround v podobě nabootování do recovery režimu a smazání jednoho souboru.

    karkar | Komentářů: 164
    18.7. 23:44 | Komunita

    Nezisková organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo a brand. Minimálně z loga odstraní indiánské pírko. Nové logo a brand představí na své konferenci Community Over Code v říjnu letošního roku. Ta byla ještě nedávno známá jako ApacheCon.

    Ladislav Hagara | Komentářů: 82
    Rozcestník

    Dotaz: c, rychlost cteni

    16.5.2010 15:31 O_x
    c, rychlost cteni
    Přečteno: 724×
    Zdravim, mam program v c a potreboval bych nejakym zpusobem zmerit propustnost v Mb/s cteni z disku.

    Řešení dotazu:


    Odpovědi

    16.5.2010 16:09 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Gratulujeme. A ... problém je v čom?
    16.5.2010 16:12 O_x
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    no nevim jakym zpusobem to zmerit
    16.5.2010 18:58 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Použiješ funkciu

    int gettimeofday(struct timeval *tv, struct timezone *tz);

    zavoláš ju pred začiatkom čítania a po skončení čítania a tie hodnoty odčítaš. Pokiaľ sa čítanie robí po malých kúskoch a je roztrúsené na mnohých veciach, tak to bude zložitejšie. Možno by som využiť profiler. Na druhej strane ak ťa zaujíma skutočne len rýchlosť prenosu dát a nie to ako rýchlo ich dokážeš spracovať, tak by mohol stačiť hdparm, nie?
    Jardík avatar 28.5.2010 16:12 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    To si děláte srandu ... uživatel změní čas a dostane špatný výsledek.
    Věřím v jednoho Boha.
    28.5.2010 20:16 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Myslíš, že v situácii popísanej v otázke je pravdepodobné, že počas merania nejaký užívateľ zmení čas?
    Jardík avatar 28.5.2010 20:48 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Ano. Nebo např. dojde k přestupné sekundě a za sekundu se pár megabajtů přečte a celkový výsledek to znatelně ovlivní.
    Věřím v jednoho Boha.
    28.5.2010 21:44 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Hľadáš problém za každú cenu. Priestupná sekunda sa vyskytuje raz, za niekoľko rokov a uberá/vkladá sa o polnoci a nepovažujem za pravdepodobné, že by sa ono meranie konalo práve vtedy. Btw, to už si si radšej mohol spomenúť na zimný/letný čas.

    Keď ťa to uspokojí, tak áno, technicky máš pravdu. Z praktického hľadiska je, ale mnou navrhnutý spôsob celkom použiteľný a o opaku ma môže presvedčiť len autor pôvodnej otázky.
    29.5.2010 00:15 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Navrhni řešení nezávislé na změně času.
    Jardík avatar 29.5.2010 00:38 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Ve Windows je funkcička GetTickCount64() s rozlišením +- 10ms, přetejká ale po pěti miliónech letech, to je pravda.
    V Linuxu je něco podobného
    #include <sys/times.h>
    
    clock_t times(struct tms *buf);
    
    Návratová hodnota v linuxu je počet ticků od bootu. Pomocí sysconf(_SC_CLK_TCK) vydělit a máme čas. Bohužel v Linuxu dochází častěji k přetejkání této hodnoty, obzvláště na 32bit systému.
    Věřím v jednoho Boha.
    29.5.2010 14:08 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Ano, pro měření od-do se to hodí, v jiffech se v proc udává třeba i čas strávený úlohou v různých stavech (user, system, idle etc.), akorát "počet tiků od bootu" bych tomu neříkal, je to prostě časovač.
    michich avatar 29.5.2010 14:37 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: c, rychlost cteni

    times udává čas CPU procesem spotřebovaný. Pro měření doby čtení z disku je to nepoužitelný údaj, protože CPU se během toho čtení většinou nudí.

    Možná jsi měl na mysli funkci time. Ta ale vrací čas jenom s přeností na celé sekundy, a navíc je stejně zase implementovaná pomocí gettimeofday, která se ti nelíbí.

    Pro čas s vysokým rozlišením a neovlivněný přestupnými sekundami lze použít clock_gettime(CLOCK_MONOTONIC, ...).

    michich avatar 29.5.2010 14:42 michich | skóre: 51 | blog: ohrivane_parky
    Rozbalit Rozbalit vše Re: c, rychlost cteni

    times udává čas CPU procesem spotřebovaný. Pro měření doby čtení z disku je to nepoužitelný údaj, protože CPU se během toho čtení většinou nudí.

    Seknul jsem se. Tohle times sice udává, ale navíc vrací i tu hodnotu, o které psal Jardík. Takže v zásadě použitelná je. I tak je ale lepší použít CLOCK_MONOTONIC
    Jardík avatar 29.5.2010 14:50 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Tak než jsem to dopsal, tak sis toho všiml. BTW clock_gettime je taky dobrý, o tom jsem nevěděl.
    Věřím v jednoho Boha.
    Jardík avatar 29.5.2010 14:47 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Blbost.
    The function times returns the number of clock ticks that have elapsed since an arbitrary point in the past. For Linux this point is the moment the system was booted. This return value may overflow the pos- sible range of type clock_t. On error, (clock_t) -1 is returned, and errno is set appropriately.
    Pokud to pak vydělíš např. počtem ticků za jednotku času, dostaneš čas.
    Věřím v jednoho Boha.
    29.5.2010 21:19 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Blbost by to byla, kdyby se psal rok 2002, ze kterého je ten odkazovaný manuál.

    Ríkám to pořád, nevěřte všemu, co se píše v manuálu a na internetu už vůbec ne. Nikdy nevíte, kdo na vás vytáhne lepší, větší a novější manuál, nebo nedej bože automat. A co teprve takový experiment! ;)
    29.5.2010 21:55 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Ten experiment mi vychází jen přibližně, pokud by to bylo jak se píše v mém manuálu:
    On  Linux,  the  "arbitrary point in the past" from which the return value of times()
    is measured has varied across kernel versions.  On Linux 2.4 and earlier this point is the
    moment the system was  booted.   Since  Linux  2.6,  this  point  is
    (2^32/HZ)  -  300 (i.e., about 429 million) seconds before system boot time.
    
    $ uptime
     21:45:02 up 1 day,  4:07,  2 users,  load average: 0.00, 0.03, 0.06
    $ ./a.out
    1441655586, jiffy: 100, HZ: 300
    bash$ bc -l <<<"(1441655586/100-2^32/300+300)/60/60"
    27.86061296296296296296
    Ale mělo by to být 28 hodin a něco, ne 27. Navíc těch manuálových 429 milionů je také divné, to by museli mít HZ 10 a ne obvyklých 100 (dnes spíš i víc). Holt ty manuély... :)
    29.5.2010 22:02 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Ups, to jste nereagoval na mne ale na komentář podemnou :) Ano souhlasím že se to dá použít jako časovač (ve smyslu že vrací číslo "since an arbitrary point in the past") a lze to doufejme použít pro měření intervalu, ale čas od bootu to nebude.

    Každopádně bych celkově víc věřil té funkci clock_gettime kterou tu michich zmínil.
    Řešení 1× (Messa)
    Jardík avatar 29.5.2010 23:58 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Ano, clock_gettime vypadá lépe, uznávám. Tak abychom teda odpověděli zadavateli otázky:
    clock_gettime před čtením, čtení X desítek MB dat z disku, clock_gettime po čtení, spočítat rozdíl časů a tím vydělit počet přečtených MB a máme výsledek.
    Věřím v jednoho Boha.
    Josef Kufner avatar 17.5.2010 01:28 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Hello world ! Segmentation fault (core dumped)
    17.5.2010 12:59 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    nebo pv
    17.5.2010 14:26 faha
    Rozbalit Rozbalit vše Re: c, rychlost cteni

    Nebo pokud mate jadro >= 2.6.20 tak lze pouzit utilitky iotop

    http://guichaz.free.fr/iotop/

    17.5.2010 17:38 O_x
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Jo iotop je v pohode. Problem je v tom, ze na tom pc na kterem potrebuji provest mereni nemam prava abych jej mohl nainstalovat.
    17.5.2010 17:23 Ivan
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    sys_times
    28.5.2010 18:21 lok
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Precte par mega:
    int fd = open("/dev/hda", O_RDONLY);
    char buffer[2048];
    int i;
    for(int i = 0; i < 1024 * 50; i++) {
    read(fd, buffer, 2048);
    }
    close(fd);
    
    A potom bud dodelat praci s casem (t1, cteni, t2 = now - t1) anebo to cele zmerit timem a dopocitat si to podle objemu prenesenych dat rucne...
    Jardík avatar 28.5.2010 20:50 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    2 MB? Z toho žádný výsledek vyvodit nemůže, obyč HDD vám dá pár desítek mega za sekundu.
    Věřím v jednoho Boha.
    28.5.2010 21:46 mich | skóre: 16
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    je tam krát 50...ale to je stejně pořád málo.
    je to teď v módě, na žive o tom furt píšou
    Jardík avatar 28.5.2010 23:41 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: c, rychlost cteni
    Jó, tu 50ku jsem přehlédl.
    Věřím v jednoho Boha.

    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.