» Poradna » Programy

C# - Čas proccesu

 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Zdravím, dostal jsem úkol změřit časovou náročnost Bubble Sortu v C#. Napsal jsem Bubble Sort a měřil to tak, že jsem vzal struktura DataTime a změřil systémový čas na začátku a na konci, udělal jejich rozdíl, ale bylo to k ničemu. Tak jsem vzal Stopwatch v tickách a vynásobil 100 a dostal čas v nano sekundách, ale to je taky špatně, protože to neměří čas pouze toho algoritmu, ale čas všeho co processor udělá mezi, pokud jsem to správně pochopil, tak procesor mezitím dělá ještě další úlohy, poradí mi prosím někdo, jak získat čas provádění pouze toho algoritmu. Díky za každou pomoc.

Odpovědi na otázku

 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

https://msdn.microsoft.com/en-us/library/system.diag... (v=vs.110).aspxNicméně pokud v systému neběží nic náročného, tak se to od tvého původního měření nebude téměř lišit.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

A tohle právě hodí stejný výsledek, jako StopWatch, v systému nemusí běžet nic náročného, stačí procesy na pozadí, ty taky něco žerou a učitel mě ujistil, že v C# je přímo funkce na změření čistého času jenom konkrétní věci a tu já hledám.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Procesy na pozadí v nezaneřáděném systému spotřebovávají maximálně 1 % CPU.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

To já vím, ale Bubble Sort pro 20 čísel sežere sotva 0,03% processoru a když mi do toho lezou procesy, který mají 1%, tak nikdy nemůžu pomocí měření prokázat, že časová závislost Bubble sort je kvadratická, když mi do toho lezou tyhle procesy, tak měření hází náhodná čísla.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Měření časové náročnosti má smysl až u řádově větších polí. Měř to pro 100, 1000 a 10000. Pak to bude o něčem vypovídat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

A tohle by mělo opravdu vracet čistý čas CPU.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Časová náročnost algoritmů se neměří žádný timerem, ale (měla by se) vypočítává se na základě kroků algoritmu. Přečti si například toto: http://popular.fbmi.cvut.cz/it/Stranky/Slozitost-algo...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Pokud jsem to dobře pochopil, tak to ale chce ověřit empiricky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Přesně tak, já vím, že je ta časová náročnost kvadratická, ale já to mám empiricky dokázat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Stačí ukázat pomocí korektních matematických postupů, že odhad je správný a nikdy to neprovede více než daný počet kroků pro vstup o délce N.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Ještě bych dodal, že časová složitost algoritmu se většinou udává pro velikost vstupu.. například n.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Tohle já všechno vím, a já mám právě změřit třeba pro 10 prvků a spočítat z toho kolik to bude třeba pro 30 a pak to změřit a to jsem udělal a absolutně ty hodnoty nesedí a to je právě ten problém, který jsem výše popsal.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

No, rozepiš jak bubble sort funguje. Počítej například počet porovnání. Jakmile vytvoříš obecný vzorec pro počet porovnání. Máš vyhráno.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Počítat kolik by to mělo být umím, ale já to mám změřit, abych to dokázal, to znamená opravdu změřit a to potřebuju.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Pokud to máš měřit tak to se ti omlouvám. Moc mě zblbla škola

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Vpořádku ta škola tohle dělá

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Složitost algoritmů se počítá tak, že si počítáš kolik porovnání provede algoritmus v nejhorším případě, pro vstup o délky N. Pokud víš jak algoritmus funguje, tak si schopný usoudit obecný vzoreček pro počet porovnání (jak jsem již psal). Stačí si to udělat pro pole o délky 3-4-5 prvků a pak to bude jasný.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 45.0.2454.101

Pro tak malé hodnoty to nemá smysl. Druhá věc je, že to můžeš mít špatně naimplementované.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Ještě si to celý jednou projdu, jestli to mám opravdu všechno správně, ale myslím, že mám.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Nějaká ta milisekunda tam být musí. Záleží i na tom kolik čísel seřazuješ, na rychlosti procesoru, na to kolik dalších procesů ti procesor zatěžuje...ale budu parafrázovat NUDU. V jednom má pravdu. Ten cyklus seřazování prověď vídekrát, třeba 1 000 000x a výsledek poděl počtem opakování.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Ještě jsem dám obrázek, aby se dalo plně chápat, proč mi to nesedí.https://scontent-vie1-1.xx.fbcdn.net/hphotos-xfp1/t31.0-8/1203...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Chrome 38.0.2103.0

A to ten politruk, co ti dal ten politický úkol ti neřekl, že máš měřit třeba ten sort zopakovat několik(>100000x) krát a/nebo pro určitý počet prvků, aby ses dostal na nějakou normální hodnotu času?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 45.0.2454.101

Ale pitchu Sedláku, na to stačí rozlišení milisekund. I takový jednoduchý cyklus řadící čísla o počtu třeba 100 (slovy řadí 100 čísel) může "vyrobit" výsledek, byť s rozlílem jedné milisekundy. Nebo pokud neošetříš rozdíl času před celou a po celé sekundě, tak ti vyplivne hauznumero.Jdi si raděj orat pole, sedláku.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Bubble, Náročnost, Provádění




Určitě si přečtěte

Sex a rozmnožování při mezihvězdné cestě: Kolik lidí je potřeba pro let k Proximě Centauri?

Sex a rozmnožování při mezihvězdné cestě: Kolik lidí je potřeba pro let k Proximě Centauri?

** Vědci spočítali, jak velká by musela být posádka pro vícegenerační let k nejbližší hvězdné soustavě ** Proxima Centauri se nachází 4,3 světelných let od nás ** Za současných technologií bychom k ní letěli 6300 let

Petr Kubala | 53

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 36

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

** Apple odhalil své plány na zcela nové mapy ** Několik let pracuje na nových mapách, které by měly předběhnout konkurenci ** Objeví se s příchodem iOS 12 pro vybrané státy

Karel Javůrek | 50

Budoucnost elektroniky: čeští vědci stojí za revolučním čipem, který nemá ve světě obdoby

Budoucnost elektroniky: čeští vědci stojí za revolučním čipem, který nemá ve světě obdoby

** Čeští vědci pod vedením Tomáše Jungwirtha vyvíjí nový typ revolučního paměťového čipu ** Zatímco v současnosti elektronika pracuje s elektrony, v budoucnu to budou spiny elektronů ** Čipy budou moci být klidně i 1 000x rychlejší a úspornější

Karel Javůrek | 32

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 28


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji