Diskuze: Meranie času exekúcie

Python Python Meranie času exekúcie

Aktivity (1)
Avatar
ra3sk
Člen
Avatar
ra3sk:17.10.2016 15:48

Zdravím, idem na súťaž v programovaní a môj programovací jazyk je Python. Súťaž prebieha tak, že naprogramujem program ktorý potom odošlem na server firmy ktorá usporiadava súťaž. Potom oni zmerajú čas za koľko program prebehol. Ako to spraviť doma? Robím si staršie zadania a chcem si tiež doma takto zmerať čas.

 
Odpovědět 17.10.2016 15:48
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na ra3sk
Jakub Žák:17.10.2016 15:49

Na začátku si uložíš čas do proměnné a na konci odečteš od aktuálního času, ne? :)

Nahoru Odpovědět 17.10.2016 15:49
Kuba je ajťák. Buď jako Kuba.
Avatar
ra3sk
Člen
Avatar
Odpovídá na Jakub Žák
ra3sk:17.10.2016 15:51

Ale oni majú uvedené napríklad čas. limit 100ms . A keď som to tak spravil tak som dostal asi 1.7 sekundy a niekedy aj 8 sekund, záleží na tom koľko čakám na vstupe.

 
Nahoru Odpovědět 17.10.2016 15:51
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na ra3sk
Jakub Žák:17.10.2016 15:52

No pokud se měří doba vykonávání skriptu, tak vždy záleží na tom, kde to běží, kolik to dostane procesorovýho času a taky budeš čekat např. na ty vstupy.

Pokud to chceš měřit stejně, jako oni, tak musíš zjistit, co přesně měří.

Nahoru Odpovědět 17.10.2016 15:52
Kuba je ajťák. Buď jako Kuba.
Avatar
ra3sk
Člen
Avatar
Odpovídá na Jakub Žák
ra3sk:17.10.2016 15:54

Na prvom a jedinom riadku vstupu sa nachádzajú dve slová oddelené jednou medzerou. Každé z týchto slov pozostáva z aspoň dvoch a najviac 30 písmen anglickej abecedy. Prvé písmeno oboch slov je veľké, ostatné sú malé.
Na výstup vypíšte 5 riadkov. Každý riadok pozostáva z rovnakého počtu znakov. Tento počet je určený dĺžkami vstupných slov. K súčtu týchto dĺžok pripočítajte dva znaky za medzery medzi slovami a šesť znakov za medzery a hviezdičky pred textom a za textom. Druhý a štvrtý riadok obsahuje samé medzery okrem prvého a posledného znaku, ktoré sú hviezdičky. Prvý a piaty riadok pozostáva len z hviezdičiek.

Toto majú napísané

 
Nahoru Odpovědět 17.10.2016 15:54
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na ra3sk
Jakub Žák:17.10.2016 15:56

No to ale neříká nic o tom, co a jak měří :D

Nahoru Odpovědět 17.10.2016 15:56
Kuba je ajťák. Buď jako Kuba.
Avatar
ra3sk
Člen
Avatar
Odpovídá na Jakub Žák
ra3sk:17.10.2016 15:58

Šak práve... chcel by som to niekde otestovať

 
Nahoru Odpovědět 17.10.2016 15:58
Avatar
ra3sk
Člen
Avatar
Odpovídá na Jakub Žák
ra3sk:17.10.2016 17:08
def riadok(dlzka):
    i=0
    while (i<dlzka-1):
        print("*", end="")
        i=i+1
    print("*")
def riadok_medzeri(dlzka):
    i=0
    print("*",end="")
    while (i<(dlzka-2)):
        print(" ",end="")
        i=i+1
    print("*",end="\n")
def riadok_tex(dlzka):
    i=0
    print("* ",end=" ")
    slovojedna = ""


    slovodva = ""
    list(vstup)
    i = 0
    dlzka = (len(vstup)) + 1
    for x in vstup:
        i = i + 1
        if (x == " "):
            velkost = i - 1
            slovojedna = vstup[0:velkost]
            slovodva = vstup[i:dlzka]
    print(slovojedna + "  " + slovodva, end="")

    print("  *",end="\n")
def slovo(vstup):
    slovojedna = ""


    slovodva = ""
    list(vstup)
    i = 0
    dlzka = (len(vstup)) + 1
    for x in vstup:
        i = i + 1
        if (x == " "):
            velkost = i - 1
            slovojedna = vstup[0:velkost]
            slovodva = vstup[i:dlzka]
    print(slovojedna + " " + slovodva)

vstup=input()

dlzka=(len(vstup))+7
riadok(dlzka)
riadok_medzeri(dlzka)
riadok_tex(dlzka)
riadok_medzeri(dlzka)
riadok(dlzka)

niečo mi vraví že toto bude executovať dlhšie ako 100 ms... či?

 
Nahoru Odpovědět 17.10.2016 17:08
Avatar
Odpovídá na ra3sk
Libor Šimo (libcosenior):17.10.2016 17:46

Skusil si to v cecku? Tam ti napise cas.

Nahoru Odpovědět 17.10.2016 17:46
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
ra3sk
Člen
Avatar
Odpovídá na Libor Šimo (libcosenior)
ra3sk:17.10.2016 18:09

nie, zatiaľ nie, nie som si sitý či to ude rovnaký čas ako v pythone...

 
Nahoru Odpovědět 17.10.2016 18:09
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na ra3sk
Adam Ježek:17.10.2016 19:03

naimportuj time a hned za intput() dej

zacatek = time.time()

a na konec souboru pripis

print(time.time()-zacatek)

vyplivne ti to, jak dlouho to trva v milisekundach

Nahoru Odpovědět 17.10.2016 19:03
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
ra3sk
Člen
Avatar
Odpovídá na Adam Ježek
ra3sk:17.10.2016 21:03

Myslím, že to je v sekundach

 
Nahoru Odpovědět  +1 17.10.2016 21:03
Avatar
prokop
Člen
Avatar
Odpovídá na ra3sk
prokop:22.10.2016 8:39

Myslíte dobře ;-)

 
Nahoru Odpovědět 22.10.2016 8:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.