上下文管理器

两种方法误差惊人,故只保留1位小数。

性能分析工具

Python 中有多种用于计时的内置工具和模块,以下是其中一些常用的计时器:

  1. time 模块:Python 的内置 time 模块提供了一些函数来测量时间,最常用的是 time.time() 函数,它返回自 1970 年 1 月 1 日以来的秒数(Unix 时间戳)。你可以使用 time.time() 来测量代码块的执行时间。

    import time
    
    start_time = time.time()
    # 执行需要计时的代码块
    end_time = time.time()
    elapsed_time = end_time - start_time
    
    
  2. timeit 模块:Python 的 timeit 模块专门用于测量小段代码的执行时间。它提供了一个 timeit() 函数,可用于在多次运行相同的代码块时获取准确的执行时间。

    import timeit
    
    code_to_measure = """
    # 执行需要计时的代码块
    """
    
    elapsed_time = timeit.timeit(code_to_measure, number=1000)
    
    
  3. datetime 模块:Python 的 datetime 模块提供了处理日期和时间的功能。你可以使用 datetime.datetime.now() 来获取当前时间,并在代码块的开始和结束时记录时间,然后计算时间差来测量执行时间。

    import datetime
    
    start_time = datetime.datetime.now()
    # 执行需要计时的代码块
    end_time = datetime.datetime.now()
    elapsed_time = end_time - start_time
    
    
  4. cProfile 模块:Python 的 cProfile 模块是一个性能分析工具,用于测量代码的执行时间并提供详细的性能分析信息。它适用于分析代码的性能瓶颈。

    import cProfile
    
    def function_to_profile():
        # 执行需要计时的代码块
    
    cProfile.run('function_to_profile()')
    
    
  5. profile 模块:与 cProfile 类似,Python 的 profile 模块也用于性能分析,但提供了更高级的分析功能。你可以使用 profile 模块来测量代码的执行时间和函数调用次数,并生成详细的报告。

    import profile
    
    def function_to_profile():
        # 执行需要计时的代码块
    
    profiler = profile.Profile()
    profiler.run('function_to_profile()')
    profiler.print_stats()
    
    

这些是 Python 中常用的内置计时器和性能分析工具。你可以根据具体的需求选择合适的工具来测量和分析代码的执行时间。