python类timeit()的实例源码

tests.py 文件源码 项目:opyum 作者: Amper 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def tearDown(self):
        if self.src_before and self.optimizations:
            if not isinstance(self.src_before, (list, tuple)):
                self.src_before = (self.src_before, )
            if not isinstance(self.optimizations, (list, tuple)):
                self.optimizations = (self.optimizations, )
            for src_before in self.src_before:
                src_after = src_before
                for optimization in self.optimizations:
                    src_after     = self.optimize(src_after, optimization)
                self.time_before += timeit(src_before, setup=self.set_up)
                self.time_after  += timeit(src_after , setup=self.set_up)
            self.assertGreaterEqual(self.time_before, self.time_after)
        self.time_before   = 0 
        self.time_after    = 0
        self.src_before    = ()
        self.optimizations = ()
        self.set_up        = None
owner.py 文件源码 项目:lagbot 作者: mikevb1 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def get_env(ctx):
    return dict(
        print=print_,
        timeit=timeit,
        dis=dis,
        discord=discord,
        bot=ctx.bot,
        client=ctx.bot,
        ctx=ctx,
        con=ctx.con,
        msg=ctx.message,
        message=ctx.message,
        guild=ctx.guild,
        server=ctx.guild,
        channel=ctx.channel,
        me=ctx.me
    )
timing.py 文件源码 项目:planetplanet 作者: rodluger 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def plot():
    '''

    '''

    # Register the functions
    builtins.__dict__.update(globals())

    # Loop over various dataset sizes
    Narr = np.logspace(0, 5, 5)
    tpp = np.zeros_like(Narr)
    tbm = np.zeros_like(Narr)
    tps = np.zeros_like(Narr)
    for i, N in enumerate(Narr):
        tpp[i] = timeit.timeit('run_pp(%d)' % N, number = 10) / 10.
        if batman is not None:
            tbm[i] = timeit.timeit('run_bm(%d)' % N, number = 10) / 10.
        if ps is not None:
            tps[i] = timeit.timeit('run_ps(%d)' % N, number = 10) / 10.

    pl.plot(Narr, tpp, '-o', label = 'planetplanet')
    if batman is not None:
        pl.plot(Narr, tbm, '-o', label = 'batman')
    if ps is not None:
        pl.plot(Narr, tps, '-o', label = 'pysyzygy')
    pl.legend()
    pl.yscale('log')
    pl.xscale('log')
    pl.ylabel('Time [seconds]', fontweight = 'bold')
    pl.xlabel('Number of datapoints', fontweight = 'bold')
bench.py 文件源码 项目:deb-python-falcon 作者: openstack 项目源码 文件源码 阅读 32 收藏 0 点赞 0 评论 0
def bench(func, iterations, stat_memory):
    gc.collect()
    heap_diff = None

    if heapy and stat_memory:
        heap_before = heapy.heap()

    total_sec = timeit.timeit(func, setup=gc.enable, number=iterations)

    if heapy and stat_memory:
        heap_diff = heapy.heap() - heap_before

    sec_per_req = Decimal(str(total_sec)) / Decimal(str(iterations))

    sys.stdout.write('.')
    sys.stdout.flush()

    return (sec_per_req, heap_diff)
bench.py 文件源码 项目:deb-python-falcon 作者: openstack 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def determine_iterations(func):
    # NOTE(kgriffs): Algorithm adapted from IPython's magic timeit
    # function to determine iterations so that 0.2 <= total time < 2.0
    iterations = ITER_DETECTION_MULTIPLIER
    for __ in range(1, ITER_DETECTION_MAX_ATTEMPTS):
        gc.collect()

        total_sec = timeit.timeit(
            func,
            setup=gc.enable,
            number=int(iterations)
        )

        if total_sec >= ITER_DETECTION_DURATION_MIN:
            assert total_sec < ITER_DETECTION_DURATION_MAX
            break

        iterations *= ITER_DETECTION_MULTIPLIER

    return int(iterations)
test_timeit.py 文件源码 项目:zippy 作者: securesystemslab 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def timeit(self, stmt, setup, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_time = t.timeit(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, 1)
        self.assertEqual(self.fake_timer.count, number)
        self.assertEqual(delta_time, number)

    # Takes too long to run in debug build.
    #def test_timeit_default_iters(self):
    #    self.timeit(self.fake_stmt, self.fake_setup)
test_timeit.py 文件源码 项目:zippy 作者: securesystemslab 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def repeat(self, stmt, setup, repeat=None, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if repeat is None:
            repeat = DEFAULT_REPEAT
        else:
            kwargs['repeat'] = repeat
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_times = t.repeat(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, repeat)
        self.assertEqual(self.fake_timer.count, repeat * number)
        self.assertEqual(delta_times, repeat * [float(number)])

    # Takes too long to run in debug build.
    #def test_repeat_default(self):
    #    self.repeat(self.fake_stmt, self.fake_setup)
test_mobile.py 文件源码 项目:pycrate 作者: ANSSI-FR 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def test_perf():

    print('[+] NAS MO decoding and re-encoding')
    Ta = timeit(test_nas_mo, number=14)
    print('test_nas_mo: {0:.4f}'.format(Ta))

    print('[+] NAS MT decoding and re-encoding')
    Tb = timeit(test_nas_mt, number=24)
    print('test_nas_mt: {0:.4f}'.format(Tb))

    print('[+] SIGTRAN decoding and re-encoding')
    Tc = timeit(test_sigtran, number=300)
    print('test_sigtran: {0:.4f}'.format(Tc))

    print('[+] SCCP decoding and re-encoding')
    Td = timeit(test_sccp, number=100)
    print('test_sccp: {0:.4f}'.format(Td))

    print('[+] mobile total time: {0:.4f}'.format(Ta+Tb+Tc+Td))
test_timeit.py 文件源码 项目:oil 作者: oilshell 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def timeit(self, stmt, setup, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_time = t.timeit(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, 1)
        self.assertEqual(self.fake_timer.count, number)
        self.assertEqual(delta_time, number)

    # Takes too long to run in debug build.
    #def test_timeit_default_iters(self):
    #    self.timeit(self.fake_stmt, self.fake_setup)
test_timeit.py 文件源码 项目:oil 作者: oilshell 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def repeat(self, stmt, setup, repeat=None, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if repeat is None:
            repeat = DEFAULT_REPEAT
        else:
            kwargs['repeat'] = repeat
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_times = t.repeat(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, repeat)
        self.assertEqual(self.fake_timer.count, repeat * number)
        self.assertEqual(delta_times, repeat * [float(number)])

    # Takes too long to run in debug build.
    #def test_repeat_default(self):
    #    self.repeat(self.fake_stmt, self.fake_setup)
test_timeit.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def timeit(self, stmt, setup, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_time = t.timeit(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, 1)
        self.assertEqual(self.fake_timer.count, number)
        self.assertEqual(delta_time, number)

    # Takes too long to run in debug build.
    #def test_timeit_default_iters(self):
    #    self.timeit(self.fake_stmt, self.fake_setup)
test_timeit.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def repeat(self, stmt, setup, repeat=None, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if repeat is None:
            repeat = DEFAULT_REPEAT
        else:
            kwargs['repeat'] = repeat
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_times = t.repeat(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, repeat)
        self.assertEqual(self.fake_timer.count, repeat * number)
        self.assertEqual(delta_times, repeat * [float(number)])

    # Takes too long to run in debug build.
    #def test_repeat_default(self):
    #    self.repeat(self.fake_stmt, self.fake_setup)
misc_performance.py 文件源码 项目:Learning-Python-Application-Development 作者: PacktPublishing 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def run_timeit(func_1, func_2, num=1):
    """Run timeit.timeit for the given function names (input args)

    .. todo:: Make this function robust by handling errors due to incorrect
       function names.
    .. todo:: You could also refactor this function and pass the whole
     function as an argument. Then you can extract the function name string
     as function.__name__
    """

    t1 = timeit.timeit("%s()"%func_1,
                       setup="from __main__ import %s"%func_1, number=num)
    t2 = timeit.timeit("%s()"%func_2,
                       setup="from __main__ import %s"%func_2, number=num)

    print("Function: {func}, time: {t}".format(func=func_1, t=t1))
    print("Function: {func}, time: {t}".format(func=func_2, t=t2))
    print("~"*40)
misc_performance.py 文件源码 项目:Learning-Python-Application-Development 作者: PacktPublishing 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def run_timeit(func_1, func_2, num=1):
    """Run timeit.timeit for the given function names (input args)

    .. todo:: Make this function robust by handling errors due to incorrect
       function names.
    .. todo:: You could also refactor this function and pass the whole
     function as an argument. Then you can extract the function name string
     as function.__name__
    """

    t1 = timeit.timeit("%s()"%func_1,
                       setup="from __main__ import %s"%func_1, number=num)
    t2 = timeit.timeit("%s()"%func_2,
                       setup="from __main__ import %s"%func_2, number=num)

    print("Function: {func}, time: {t}".format(func=func_1, t=t1))
    print("Function: {func}, time: {t}".format(func=func_2, t=t2))
    print("~"*40)
test_timeit.py 文件源码 项目:web_ctp 作者: molebot 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def timeit(self, stmt, setup, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_time = t.timeit(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, 1)
        self.assertEqual(self.fake_timer.count, number)
        self.assertEqual(delta_time, number)

    # Takes too long to run in debug build.
    #def test_timeit_default_iters(self):
    #    self.timeit(self.fake_stmt, self.fake_setup)
test_timeit.py 文件源码 项目:web_ctp 作者: molebot 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def repeat(self, stmt, setup, repeat=None, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if repeat is None:
            repeat = DEFAULT_REPEAT
        else:
            kwargs['repeat'] = repeat
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_times = t.repeat(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, repeat)
        self.assertEqual(self.fake_timer.count, repeat * number)
        self.assertEqual(delta_times, repeat * [float(number)])

    # Takes too long to run in debug build.
    #def test_repeat_default(self):
    #    self.repeat(self.fake_stmt, self.fake_setup)
conv1d.py 文件源码 项目:DBQA-KBQA 作者: Lucien-qiang 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def test_kmax_pooling_time():
  nbatches, nkernels_in, nwords, ndim = 50, 16, 58, 300
  input_shape = (nbatches, nkernels_in, nwords, ndim)

  input = T.tensor4('input')

  k = 1
  f_kmax_argsort = theano.function([input], k_max_pooling(input, k))
  f_kmax_unroll = theano.function([input], _k_max_pooling(input, k))
  f_max = theano.function([input], max_pooling(input))

  image_data = np.random.randn(*input_shape).astype(dtype=np.float64)
  # np.random.shuffle(image_data)
  image_data = image_data.reshape(input_shape)
  # print image_data
  # print 'kmax'
  print 'f_kmax_argsort', timeit.timeit(lambda: f_kmax_argsort(image_data), number=10)
  print 'f_kmax_unroll', timeit.timeit(lambda: f_kmax_unroll(image_data), number=10)
  print 'f_max', timeit.timeit(lambda: f_max(image_data), number=10)
test_timeit.py 文件源码 项目:ouroboros 作者: pybee 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def timeit(self, stmt, setup, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_time = t.timeit(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, 1)
        self.assertEqual(self.fake_timer.count, number)
        self.assertEqual(delta_time, number)

    # Takes too long to run in debug build.
    #def test_timeit_default_iters(self):
    #    self.timeit(self.fake_stmt, self.fake_setup)
test_timeit.py 文件源码 项目:ouroboros 作者: pybee 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def repeat(self, stmt, setup, repeat=None, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if repeat is None:
            repeat = DEFAULT_REPEAT
        else:
            kwargs['repeat'] = repeat
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_times = t.repeat(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, repeat)
        self.assertEqual(self.fake_timer.count, repeat * number)
        self.assertEqual(delta_times, repeat * [float(number)])

    # Takes too long to run in debug build.
    #def test_repeat_default(self):
    #    self.repeat(self.fake_stmt, self.fake_setup)
conv1d.py 文件源码 项目:DEEP-CLICK-MODEL 作者: THUIR 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def test_kmax_pooling_time():
  nbatches, nkernels_in, nwords, ndim = 50, 16, 58, 300
  input_shape = (nbatches, nkernels_in, nwords, ndim)

  input = T.tensor4('input')

  k = 1
  f_kmax_argsort = theano.function([input], k_max_pooling(input, k))
  f_kmax_unroll = theano.function([input], _k_max_pooling(input, k))
  f_max = theano.function([input], max_pooling(input))

  image_data = np.random.randn(*input_shape).astype(dtype=np.float64)
  # np.random.shuffle(image_data)
  image_data = image_data.reshape(input_shape)
  # print image_data
  # print 'kmax'
  print 'f_kmax_argsort', timeit.timeit(lambda: f_kmax_argsort(image_data), number=10)
  print 'f_kmax_unroll', timeit.timeit(lambda: f_kmax_unroll(image_data), number=10)
  print 'f_max', timeit.timeit(lambda: f_max(image_data), number=10)
run_test.py 文件源码 项目:IRPy 作者: TApplencourt 项目源码 文件源码 阅读 40 收藏 0 点赞 0 评论 0
def test_performance_cache(self):
        """Compare the naive vanilla python lazy property
                (where property is written in C in the python stdlib)
            with our IRP lazy_property with the genealogy overhead

            Python 2.*: 1.25x Python 3.*: 1.75x
        """
        import timeit

        i = timeit.timeit('f.b0;', setup='from __main__ import BigTree; f = BigTree()', number=5000000)
        h = timeit.timeit('f.b0_vlp;', setup='from __main__ import BigTree; f = BigTree()', number=5000000)

        try:
            self.assertTrue(i < h*1.75)
        except AssertionError as e:
            raise e
ch03_r07.py 文件源码 项目:Modern-Python-Cookbook 作者: PacktPublishing 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def factorial():
    simple = timeit.timeit('fact_s(52)',
'''
from ch03_r07 import fact_s
''')

    optimized = timeit.timeit('fact_o(52)',
'''
from ch03_r07 import fact_o
''')

    while_statement = timeit.timeit('fact_w(52)',
'''
from ch03_r07 import fact_w
'''
    )

    print( "Simple    {simple:.4f}".format_map(vars()))
    print( "Optimized {optimized:.4f}".format_map(vars()))
    print( "While     {while_statement:.4f}".format_map(vars()))
unit_test_performance.py 文件源码 项目:ci_edit 作者: google 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def test_array_vs_getter(self):
    setup = '''data = ['a'] * 100\n'''
    setup += '''def get(n):\n'''
    setup += '''  return data[n]\n'''
    setup += '''class B:\n'''
    setup += '''  def __getitem__(self, n):\n'''
    setup += '''    return data[n]\n'''
    setup += '''b = B()\n'''
    a = timeit(
        '''x = data[5]\n''',
        setup=setup,
        number=10000)
    b = timeit(
        '''x = get(5)\n''',
        setup=setup,
        number=10000)
    c = timeit(
        '''x = b[5]\n''',
        setup=setup,
        number=10000)
    #print "\n%s %s %s | %s %s" % (a, b, a/b, c, a/c)
    # Calling a function or member is significantly slower than direct access.
    self.assertGreater(b, a * 1.7)
    self.assertGreater(c, a * 2)
unit_test_performance.py 文件源码 项目:ci_edit 作者: google 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def test_slice_vs_startswith(self):
    setup = '''x = 'a' * 100\n'''
    a = timeit(
        '''x[:2] == "  "\n''',
        setup=setup,
        number=100000)
    b = timeit(
        '''x.startswith("  ")\n''',
        setup=setup,
        number=100000)
    c = timeit(
        '''x[0] == " " and x[1] == " "\n''',
        setup=setup,
        number=100000)
    #print "\na %s, b %s, c %s | %s %s" % (a, b, c, c, a/c)
    # Calling a function or member is significantly slower than direct access.
    self.assertGreater(b, a * 2.0)  # b is much slower.
    self.assertGreater(b, c * 2.0)  # b is much slower.
    self.assertGreater(a, c * 0.7)  # a and c are similar.
    self.assertGreater(c, a * 0.7)  # a and c are similar.
unit_test_performance.py 文件源码 项目:ci_edit 作者: google 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def test_default_parameter(self):
    setup  = '''def withDefault(a, b=None):\n'''
    setup += '''  if b is not None: return b\n'''
    setup += '''  return a*a\n'''
    setup += '''def withoutDefault(a, b):\n'''
    setup += '''  if b is -1: return b\n'''
    setup += '''  return a*b\n'''
    a = timeit(
        '''withDefault(5);''' * 100,
        setup=setup,
        number=10000)
    b = timeit(
        '''withoutDefault(5, 0);''' * 100,
        setup=setup,
        number=10000)
    # Assert that neither too much faster than the other
    self.assertGreater(a, b * 0.81)
    self.assertGreater(b, a * 0.77)
unit_test_performance.py 文件源码 项目:ci_edit 作者: google 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def test_split_insert(self):
    return  # Remove to enable test (disabled due to running time).
    # This tests a performance assumption. If this test fails, the program
    # should still work fine, but it may not run as fast as it could by using
    # different assumptions.
    #
    # With frequent splitting the performance reverses.
    for lineCount in (100, 1000, 5000):
      half = lineCount / 2
      a = timeit(r'''data2 = data1.split('\n'); \
              data2[%s] = data2[%s][:50] + "x" + data2[%s][50:]; \
              ''' % (half, half, half),
          setup=r'''data1 = ("a" * 100 + '\n') * %s''' % (lineCount,),
          number=10000)
      b = timeit('data1 = data1[:%s] + "x" + data1[%s:]' % (half, half),
          setup=r'''data1 = ("a" * 100 + '\n') * %s''' % (lineCount,),
          number=10000)
      print "\n%9s: %s %s" % (lineCount, a, b)
      self.assertGreater(a, b)
bench.py 文件源码 项目:zenchmarks 作者: squeaky-pl 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def bench(func, iterations, stat_memory):
    gc.collect()
    heap_diff = None

    if heapy and stat_memory:
        heap_before = heapy.heap()

    total_sec = timeit.timeit(func, setup=gc.enable, number=iterations)

    if heapy and stat_memory:
        heap_diff = heapy.heap() - heap_before

    sec_per_req = Decimal(str(total_sec)) / Decimal(str(iterations))

    sys.stdout.write('.')
    sys.stdout.flush()

    return (sec_per_req, heap_diff)
bench.py 文件源码 项目:zenchmarks 作者: squeaky-pl 项目源码 文件源码 阅读 34 收藏 0 点赞 0 评论 0
def determine_iterations(func):
    # NOTE(kgriffs): Algorithm adapted from IPython's magic timeit
    # function to determine iterations so that 0.2 <= total time < 2.0
    iterations = ITER_DETECTION_MULTIPLIER
    for __ in range(1, ITER_DETECTION_MAX_ATTEMPTS):
        gc.collect()

        total_sec = timeit.timeit(
            func,
            setup=gc.enable,
            number=int(iterations)
        )

        if total_sec >= ITER_DETECTION_DURATION_MIN:
            assert total_sec < ITER_DETECTION_DURATION_MAX
            break

        iterations *= ITER_DETECTION_MULTIPLIER

    return int(iterations)
scanprof.py 文件源码 项目:membrane 作者: CrySyS 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def permscan(self, address_space, offset = 0, maxlen = None):
    times = []
    # Run a warm-up scan to ensure the file is cached as much as possible
    self.oldscan(address_space, offset, maxlen)

    perms = list(itertools.permutations(self.checks))
    for i in range(len(perms)):
        self.checks = perms[i]
        print "Running scan {0}/{1}...".format(i + 1, len(perms))
        profobj = ScanProfInstance(self.oldscan, address_space, offset, maxlen)
        value = timeit.timeit(profobj, number = self.repeats)
        times.append((value, len(list(profobj.results)), i))

    print "Scan results"
    print "{0:20} | {1:7} | {2:6} | {3}".format("Time", "Results", "Perm #", "Ordering")
    for val, l, ordering in sorted(times):
        print "{0:20} | {1:7} | {2:6} | {3}".format(val, l, ordering, perms[ordering])
    sys.exit(1)
test_timeit.py 文件源码 项目:kbe_server 作者: xiaohaoppy 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def timeit(self, stmt, setup, number=None):
        self.fake_timer = FakeTimer()
        t = timeit.Timer(stmt=stmt, setup=setup, timer=self.fake_timer)
        kwargs = {}
        if number is None:
            number = DEFAULT_NUMBER
        else:
            kwargs['number'] = number
        delta_time = t.timeit(**kwargs)
        self.assertEqual(self.fake_timer.setup_calls, 1)
        self.assertEqual(self.fake_timer.count, number)
        self.assertEqual(delta_time, number)

    # Takes too long to run in debug build.
    #def test_timeit_default_iters(self):
    #    self.timeit(self.fake_stmt, self.fake_setup)


问题


面经


文章

微信
公众号

扫码关注公众号