def test_profile_frame(): def makeParams(): objects = tuple('foo' for _ in range(50)) template = ''.join('{%d}' % i for i in range(len(objects))) return template, objects def get_log(): template, objects = makeParams() logs = [] for _ in range(100000): logs.append(template.format(*objects)) return logs enable_profiler('test_profile_frame.json') python_domain = profiler.Domain('PythonDomain::test_profile_frame') frame = profiler.Frame(python_domain, "test_profile_frame") frame.start() start = time.time() var = mx.nd.ones((1000, 500)) assert len(get_log()) == 100000 var.asnumpy() stop = time.time() frame.stop() assert stop > start profiler.set_state('stop')
def test_profile_frame(): def makeParams(): objects = tuple('foo' for _ in range(50)) template = ''.join('{%d}' % i for i in range(len(objects))) return template, objects def doLog(): template, objects = makeParams() for _ in range(100000): logging.info(template.format(*objects)) logging.basicConfig() enable_profiler('test_profile_frame.json') python_domain = profiler.Domain('PythonDomain::test_profile_frame') frame = profiler.Frame(python_domain, "test_profile_frame") frame.start() start = time.time() var = mx.nd.ones((1000, 500)) doLog() var.asnumpy() stop = time.time() frame.stop() print('run took: %.3f' % (stop - start)) profiler.set_state('stop')