【问题标题】:Difficulty in using Timeit moduleTimeit模块使用困难
【发布时间】:2014-02-28 10:26:04
【问题描述】:

count = 10, 100, 1000, 10000

对于 count 的每个值,我需要使用 timeit 执行该方法 5 次并打印出最小值和实际的 5 个值。

numstring 包含四个函数。

输出应如下所示(共 16 行):

numbers_string1,count = 10,min = 0.0001,实际值 = [0.0001, 0.0002, 0.0001, ...]

numbers_string1,count = 100,min = 0.002,actuals = [0.002, 0.002, 0.003, ...]

....

numbers_string4,count = 10000,min = 0.1 实际值 = [....]

为此我尝试了这种方式:

我的代码:

from numstring import *
import timeit

def profile_timeit():
    funcs_list = [numbers_string1, numbers_string2, numbers_string3, num_strings4]
    for i in funcs_list:
        for count in [10, 100, 1000, 10000]:
            actuals = timeit.timeit(stmt='i(count)', number=4, setup='from __main__ import *')
            print "{0} count = {1} \t min = {2} \t actuals = {3}".format(i, count, min(actuals), actuals)
        print "\n"
if __name__ == "__main__":
    profile_timeit()

谁能帮帮我。提前致谢

【问题讨论】:

    标签: python-2.7 timer timeit


    【解决方案1】:

    你能试试这个吗....

    from numstring import *
    import timeit
    def profile_timeit():
        funcs = [numbers_string1,numbers_string2,numbers_string3,num_strings4]
        count = [10,100,1000,10000]
        for func in funcs:
            for cnt in count:
                for i in xrange(5):
                    t=timeit.Timer(stmt = "%s(%d)"%(func.__name__, cnt), setup = "from __main__ import %s"%(func.__name__, ))
                    tms = t.repeat(repeat=5, number=1)
                print "%s, count = %d, min = %s , actuals = %s" % (func.__name__, cnt, min(tms), tms)
        pass
    

    告诉我好不好?

    【讨论】:

    • 你好 abdullah,你能解释一下如何做这个项目吗?
    猜你喜欢
    • 2017-06-28
    • 2012-01-03
    • 2014-03-17
    • 1970-01-01
    • 2020-01-26
    • 2017-03-24
    • 1970-01-01
    • 2012-06-14
    相关资源
    最近更新 更多