Diskuze: premenná clock_t - problém
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 15 zpráv z 15.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Sice nevím jak na to, ale můžu se tě zeptat?
Co z toho bude až to bude?
Je to len test trvania behu časti nejakého programu.
Keď je to bez cyklu a spustím test viacej krát, výsledky sú rozdielne.
Ide o to urobiť viac testov v cykle a výsledok spriemerovať.
Slúžiť by to malo k tomu, aby som pri optimalizácii kódu dospel k väčšej
rýchlosti programu.
Zabudol som kliknúť na odpoveď, sorry.
To nevadí. Já si to přečetl 
Takže to je třeba pro hru?
clock() měří procesorový čas využitý procesem, takže jestli tam máš nanosleep() nebo děláš I/O operace, nebude to měřit to, co chceš.
printf("Beh casti programu trval %.3g sekund", (float)(e - s) / CLOCKS_PER_SEC);
Často se (na win) na přesné měření času používá winapi funkce QueryPerformanceCounter() .
(to měla být spíš odpověď na Libor Šimo (libcosenior) )
Napríklad takto:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MNOZSTVO 100000000
#define ROZSAH 100
int main(void)
{
long i;
long *pole_nahodnych_cisiel;
if ((pole_nahodnych_cisiel = (long * ) malloc(MNOZSTVO * sizeof(long))) == NULL) {
printf("Malo pamati!");
return 1;
}
srand(time(0));
clock_t start = clock();
i = 0;
while (i < MNOZSTVO)
pole_nahodnych_cisiel[i++] = rand()%ROZSAH;
clock_t stop = clock();
printf("Trvanie bolo %.3f secund.\n", (float)(stop - start) / CLOCKS_PER_SEC);
free(pole_nahodnych_cisiel);
return 0;
}
Tá funkcia je pre c++ a ja to používam v céčku.
Nakoniec som dospel k záveru, že nie je potrebné opakované meranie, pretože sú tam naozaj len minimálne rozdiely. Ak sa podarí zefektívniť kód, ten rozdiel času je dosť viditeľný.
Týmto:
printf("Beh casti programu trval %.3g sekund", (float)(e - s) / CLOCKS_PER_SEC);
si ma upozornil na čo som pozabudol.
A teda že stačí, aby jedna hodnota výpočtu bola float a výsledok je
float.
Díky. 
Ta funkce je pro C i C++.
Tyhle základní funkce jsou v obou jazycích shodné.
A Winapi funkce můžeš volat z (téměř) libovolného jazyka - z C, C++, C#, Javy, Pascalu...
Zobrazeno 15 zpráv z 15.
