1
This commit is contained in:
162
OfficialProjects/CatBench/CatBench.py
Normal file
162
OfficialProjects/CatBench/CatBench.py
Normal file
@@ -0,0 +1,162 @@
|
||||
input("To start KOTIKOT benchmark, press enter...")
|
||||
import time
|
||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||
|
||||
|
||||
|
||||
|
||||
fromStartTest = 0
|
||||
markForBench1 = "Didn't tested"
|
||||
markForBench2 = "Didn't tested"
|
||||
markForBench3 = "Didn't tested"
|
||||
markForBench4 = "Didn't tested"
|
||||
markForBench5 = "Didn't tested"
|
||||
marksList = []
|
||||
|
||||
def bench1(n):
|
||||
print("Testing your computer...")
|
||||
fromStartTest = time.time_ns()
|
||||
def factorial(kolvo):
|
||||
fakt = 1
|
||||
for i in range(1, kolvo + 1):
|
||||
fakt = fakt * i
|
||||
return fakt
|
||||
schislo = factorial(n)
|
||||
timeForBench1 = time.time_ns() - fromStartTest
|
||||
print("Time elapsed for bench 1 is " + str(timeForBench1 / 1000000000) + "s")
|
||||
markForBench1 = int(100000000000 - int(timeForBench1))
|
||||
marksList.append("Mark for test 1: ")
|
||||
marksList.append(str(markForBench1))
|
||||
|
||||
def bench2(n):
|
||||
print("Testing your computer with test 2...")
|
||||
fromStartTest = time.time_ns()
|
||||
def fibonacciIt(pokolenia):
|
||||
if pokolenia == 1:
|
||||
return 0
|
||||
perv = 0
|
||||
vtor = 1
|
||||
result = perv + vtor
|
||||
for i in range(1, pokolenia - 1):
|
||||
tret = perv + vtor
|
||||
result = result + tret
|
||||
perv = vtor
|
||||
vtor = tret
|
||||
return result
|
||||
res = fibonacciIt(n)
|
||||
timeForBench2 = time.time_ns() - fromStartTest
|
||||
print("Time elapsed for bench 2 is " + str(timeForBench2 / 1000000000) + "s")
|
||||
markForBench2 = int(100000000000 - int(timeForBench2))
|
||||
marksList.append("Mark for test 2: ")
|
||||
marksList.append(str(markForBench2))
|
||||
|
||||
def bench3(n):
|
||||
print("Testing your computer with test 3...")
|
||||
fromStartTest = time.time_ns()
|
||||
a=7**n
|
||||
timeForBench3 = time.time_ns() - fromStartTest
|
||||
print("Time elapsed for bench 3 is " + str(timeForBench3 / 1000000000) + "s")
|
||||
markForBench3 = int(100000000000 - int(timeForBench3))
|
||||
marksList.append("Mark for test 3: ")
|
||||
marksList.append(str(markForBench3))
|
||||
|
||||
def bench4(n):
|
||||
print("Testing your computer with test 4...")
|
||||
fromStartTest = time.time_ns()
|
||||
peremannaa = "Fluffy cats" * n
|
||||
timeForBench4 = time.time_ns() - fromStartTest
|
||||
print("Time elapsed for bench 4 is " + str(timeForBench4 / 1000000000) + "s")
|
||||
markForBench4 = int(100000000000 - int(timeForBench4))
|
||||
marksList.append("Mark for test 4: ")
|
||||
marksList.append(str(markForBench4))
|
||||
|
||||
def benchMem5(chislo1):
|
||||
class Meow:
|
||||
def __init__(self, i):
|
||||
self.i = i
|
||||
|
||||
def fignia(chislo):
|
||||
i = []
|
||||
m = 0
|
||||
for k in range(chislo):
|
||||
m = Meow("Fluffy cats" * 1000000000)
|
||||
i.append(m)
|
||||
return "a"
|
||||
|
||||
with ThreadPoolExecutor(max_workers=10) as pool:
|
||||
print("Testing your computer with test 4 (memory test)...")
|
||||
fromStartTest = time.time_ns()
|
||||
results = [pool.submit(fignia, 3) for i in range(1)]
|
||||
for future in as_completed(results):
|
||||
timeForBench5 = time.time_ns() - fromStartTest
|
||||
print("Time elapsed for bench 5 is " + str(timeForBench5 / 1000000000) + "s")
|
||||
markForBench5 = int(100000000000 - int(timeForBench5))
|
||||
marksList.append("Mark for test 5: ")
|
||||
marksList.append(str(markForBench5))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Tests = input("Write numbers of tests you like to run \n1 - Testing by 'factorial' system \n2 - testing by fibonacci numbers system \n3 - exponentiation big numbers test \n4 - words multiplying \n5 - memory test - long (16s on my PC) and 'eats' all of your RAM, use only if you REALLY want that \n \nAlso write letter near number \nl - for lite test, \nm - for medium, \nh - for hard \n \nPrint like this: 1m 2h 5l, you can start not only one test \nOn example tests 1 - in medium mode, 2 - in hard and 5 - in lite will start \nPlease, type here... ").split()
|
||||
|
||||
if "1l" in Tests:
|
||||
bench1(50000)
|
||||
|
||||
if "1m" in Tests:
|
||||
bench1(100000)
|
||||
|
||||
if "1h" in Tests:
|
||||
print("Should not last more, than 1m, if more, stop the test")
|
||||
bench1(200000)
|
||||
|
||||
if "2l" in Tests:
|
||||
bench2(200000)
|
||||
|
||||
if "2m" in Tests:
|
||||
bench2(500000)
|
||||
|
||||
if "2h" in Tests:
|
||||
print("Should not last more, than 1m, if more, stop the test")
|
||||
bench2(650000)
|
||||
|
||||
if "3l" in Tests:
|
||||
bench3(2041315)
|
||||
|
||||
if "3m" in Tests:
|
||||
bench3(5541315)
|
||||
|
||||
if "3h" in Tests:
|
||||
print("Should not last more, than 1m, if more, stop the test")
|
||||
bench3(15541315)
|
||||
|
||||
if "4l" in Tests:
|
||||
bench4(190000000)
|
||||
|
||||
if "4m" in Tests:
|
||||
bench4(1000000000)
|
||||
|
||||
if "4h" in Tests:
|
||||
print("Should not last more, than 1m, if more, stop the test")
|
||||
bench4(3000000000)
|
||||
|
||||
if "5l" in Tests:
|
||||
print("Should not last more, than 3m, yes, it can last 3m, if more, stop the test")
|
||||
benchMem5(1)
|
||||
|
||||
if "5m" in Tests:
|
||||
print("Should not last more, than 3m, yes, it can last 3m, if more, stop the test")
|
||||
benchMem5(1)
|
||||
|
||||
if "5h" in Tests:
|
||||
print("Should not last more, than 3m, yes, it can last 3m, if more, stop the test")
|
||||
benchMem5(1)
|
||||
|
||||
print("\nYour final marks are:\n")
|
||||
for i in range(len(marksList)):
|
||||
print(marksList[i])
|
||||
|
||||
input("\nTo exit CatBench press enter...")
|
||||
Reference in New Issue
Block a user