All pastes #921327 Raw Edit

Anonymous

public text v1 · immutable
#921327 ·published 2008-02-27 23:17 UTC
rendered paste body
from __future__ import with_statement

import imvu
import imvu.test
import imvu.service
from imvu.task import task, threadtask, Return
import time

class ThreadtaskPerformanceTest(imvu.test.TestCase):
    def testThreadtaskPerformance(self):
        @threadtask
        def threadTask():
            return 1
        
        @task
        def mainTask():
            for i in xrange(25000):
                n = yield threadTask()
                self.assertEqual(1, n)
        
        self.serviceProvider = imvu.service.TestServiceProvider()
        start = time.time()
        self.serviceProvider.taskScheduler._call(mainTask())
        end = time.time()
        
        print "took %f seconds to run 25000 threadtasks (%f tasks/sec)" % (end - start, 5000.0 / (end-start))
    
if __name__ == '__main__':
    imvu.test.main()