import stackless
import time
from stacklessmulticore import *


def doStuff(mult=1):
    st = time.time()
    c = 0
    for i in xrange(int(100000*mult)):
        c = c + 1
        stackless.schedule()
    print 100000*mult, " operations took: " , time.time() - st , " seconds."


def sleepalittle(howmuch):
    print "Started sleep for", howmuch, " seconds."
    st = time.time()
    Sleep(howmuch)
    print "Woke after ", howmuch, " seconds. (", time.time()-st, ")"

if __name__ == "__main__":
    new(doStuff,1)
    new(sleepalittle,5)
    new(sleepalittle,0.2)
    new(doStuff,2)
    new(doStuff,3)
    new(sleepalittle,2)
    new(sleepalittle,1)
    new(sleepalittle,3)
    new(doStuff,4)
    new(doStuff,5)
    run()
