Python function-measurer 包完整使用指南function-measurer是Python 专用的函数性能测量工具包核心用于精准测量函数执行时间、内存占用、调用次数、CPU 使用率等性能指标支持单函数/多函数对比、定时测量、结果可视化、数据导出等高级功能是代码性能优化、调试、基准测试的高效工具。一、核心功能执行时间测量精准计算函数总耗时、平均耗时、最小/最大耗时、百分位耗时内存占用测量函数运行前/后内存差值、峰值内存、逐行内存消耗CPU 使用率函数执行期间的 CPU 占用率、单核/多核占用统计调用统计函数被调用次数、递归深度、调用间隔多函数对比同时测量多个函数自动生成对比报告结果导出支持导出为 JSON/CSV/Excel 格式方便后续分析可视化自动生成耗时柱状图、内存趋势图、CPU 占用曲线灵活配置支持测量次数、预热次数、超时控制、精度设置等自定义参数二、安装方法1. 标准安装pippipinstallfunction-measurer2. 升级到最新版本pipinstall--upgradefunction-measurer3. 验证安装打开 Python 终端执行以下代码无报错即安装成功importfunction_measurerprint(function_measurer.__version__)# 打印版本号三、核心语法与参数详解function-measurer提供装饰器和函数调用两种使用方式装饰器是最常用语法。1. 基础语法方式1装饰器推荐无侵入式测量fromfunction_measurerimportmeasuremeasure(参数1值1,参数2值2)def你的函数():# 函数逻辑pass方式2手动调用测量fromfunction_measurerimportmeasure_func# 测量函数返回结果resultmeasure_func(你的函数,参数值)2. 核心参数全参数名类型默认值功能说明namestr函数名自定义测量报告中的函数名称timesint1函数执行次数多次取平均值warmupint0预热次数预热不统计结果消除缓存影响measure_memoryboolTrue是否测量内存占用measure_cpuboolTrue是否测量 CPU 使用率timeoutfloatNone函数执行超时时间秒超时自动终止precisionint6时间精度小数点后位数print_reportboolTrue是否自动打印测量报告save_reportstr/boolFalse导出报告路径True自动命名str自定义路径plotboolFalse是否自动生成可视化图表detailedboolFalse是否输出逐行详细性能数据unitstr“auto”时间单位auto/ms/us/s3. 测量结果核心属性执行测量后可通过返回对象获取以下核心数据total_time总执行时间avg_time平均执行时间min_time/max_time最小/最大耗时memory_used内存占用MBcpu_usage平均 CPU 使用率call_count调用次数report完整测量报告字典格式四、8个实际应用案例从基础到高级案例1基础测量 - 单函数执行时间与内存场景测量一个简单计算函数的基础性能fromfunction_measurerimportmeasure# 测量函数执行3次取平均值开启内存/CPU测量measure(times3,measure_memoryTrue,measure_cpuTrue)defcalculate_sum(n):returnsum(range(n))# 调用函数自动触发测量calculate_sum(1000000)输出打印函数耗时、平均耗时、内存占用、CPU 使用率。案例2高精度时间测量微秒级场景对短执行函数进行高精度测量fromfunction_measurerimportmeasure# 设置微秒精度、执行100次、关闭内存测量提升速度measure(times100,precision8,unitus,measure_memoryFalse)defsmall_func():return12small_func()用途适合测量极快执行的工具函数、算法片段。案例3多函数性能对比场景对比两种排序算法的性能差异fromfunction_measurerimportmeasure,compare# 定义两个待对比函数measure(name冒泡排序)defbubble_sort(arr):arrarr.copy()foriinrange(len(arr)):forjinrange(len(arr)-i-1):ifarr[j]arr[j1]:arr[j],arr[j1]arr[j1],arr[j]returnarrmeasure(name内置排序)defbuiltin_sort(arr):returnsorted(arr)# 生成对比数据test_datalist(range(1000,0,-1))# 执行对比测量compare([bubble_sort,builtin_sort],args(test_data,),times2)输出自动生成两个函数的耗时、内存、CPU 对比表格。案例4测量递归函数性能场景测量递归函数的调用次数、耗时、内存fromfunction_measurerimportmeasuremeasure(detailedTrue)deffibonacci(n):ifn2:return1returnfibonacci(n-1)fibonacci(n-2)fibonacci(30)用途排查递归函数性能瓶颈、栈溢出风险。案例5导出测量报告JSON/CSV场景将性能数据导出用于文档/报表fromfunction_measurerimportmeasure# 自动导出CSV报告到当前目录measure(save_reportperformance_report.csv,times5)defdata_process():data[i**2foriinrange(10000)]returndata data_process()支持格式.json/.csv/.xlsx需安装 pandas。案例6自动生成性能可视化图表场景直观展示函数耗时、内存趋势fromfunction_measurerimportmeasure# 开启绘图自动保存图片measure(times10,plotTrue,name数据生成函数)defgenerate_data():return[xforxinrange(50000)]generate_data()输出自动生成柱状图耗时折线图内存/CPU保存为 PNG 文件。案例7逐行详细性能分析场景定位函数内部哪一行代码最慢fromfunction_measurerimportmeasure# 开启详细模式逐行测量measure(detailedTrue)defcomplex_func():a[iforiinrange(10000)]# 行1bsum(a)# 行2c[x*2forxina]# 行3returnb complex_func()输出打印每一行代码的执行时间、内存占用精准定位瓶颈。案例8带超时控制的性能测量场景防止慢函数卡死程序设置执行超时fromfunction_measurerimportmeasure# 超时时间2秒执行超过则自动终止measure(timeout2,times1)defslow_func():importtime time.sleep(3)# 模拟超时returndoneslow_func()用途测试限时任务、接口调用、批量处理函数的稳定性。五、常见错误与解决方案1. 错误ModuleNotFoundError: No module named function_measurer原因包未安装/安装到错误的 Python 环境解决确认使用pip install function-measurer安装检查 Python 环境VSCode/PyCharm 切换正确环境执行pip list查看是否已安装2. 错误MemoryError测量时内存溢出原因测量大内存函数时工具本身占用额外内存解决设置measure_memoryFalse关闭内存测量减少times执行次数增大系统可用内存3. 错误测量结果不准确耗时偏小/偏大原因系统缓存、预热不足、干扰进程解决添加warmup2预热参数关闭后台占用 CPU 的程序增大执行次数times10取平均值4. 错误plot参数无法生成图表原因缺少绘图依赖库解决安装 matplotlibpip install matplotlib5. 错误递归函数测量报错原因递归深度过大 详细模式占用资源解决关闭detailedFalse限制递归深度降低执行次数六、使用注意事项生产环境慎用测量会增加额外性能开销正式环境建议关闭测量代码短函数优化测量执行时间 1ms 的函数必须设置times100保证准确性内存测量精度Windows 系统内存测量精度略低于 Linux/Mac多线程/多进程测量多线程函数时CPU 使用率会偏高属于正常现象报告路径导出报告时确保文件夹有写入权限避免路径错误装饰器顺序如果函数有多个装饰器measure应放在最上方无返回值函数不影响测量工具可正常测量 void 函数总结function-measurer是一站式函数性能测量工具覆盖时间、内存、CPU、调用统计全维度指标核心用法是装饰器搭配times/warmup/plot等参数可满足90%性能测试场景8个案例覆盖基础测量、对比、递归、可视化、报告导出等实际开发需求使用时注意环境依赖、生产环境禁用、短函数增加执行次数避免测量误差。《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章前6章涵盖深度学习基础包括张量运算、神经网络原理、数据预处理及卷积神经网络等后5章进阶探讨图像、文本、音频建模技术并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法每章附有动手练习题帮助读者巩固实战能力。内容兼顾数学原理与工程实现适配PyTorch框架最新技术发展趋势。