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 18:55 | IT novinky

    Společnost Valve publikovala přehled To nej roku 2025 ve službě Steam aneb ohlédnutí za nejprodávanějšími, nejhranějšími a dalšími nej hrami roku 2025.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | Komunita

    Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu a listopadu 2025. Zúčastnilo se více než 5000 uživatelů.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 1
    včera 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 7
    včera 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 1
    včera 15:33 | Zajímavý software

    Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (33%)
     (1%)
     (23%)
     (1%)
     (2%)
     (1%)
     (11%)
     (11%)
     (17%)
    Celkem 195 hlasů
     Komentářů: 21, poslední dnes 18:58
    Rozcestník

    Dotaz: c, rychlost cteni

    16.5.2010 15:31 O_x
    c, rychlost cteni
    Přečteno: 817×
    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: 63 | 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: 63 | 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: 63 | 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: 63 | 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.