Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.
Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.
Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.
Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.
Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.
Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.
Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.
Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.
Řešení dotazu:
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?
#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.
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, ...).
Seknul jsem se. Tohle
timesudá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í.
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
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.
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.86061296296296296296Ale 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... :)
clock_gettime kterou tu michich zmínil.
Nebo pokud mate jadro >= 2.6.20 tak lze pouzit utilitky iotop
http://guichaz.free.fr/iotop/
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...
Tiskni
Sdílej: