代码优化
文章平均质量分 66
Satisfying
#自律女孩养成记#
#立刻行动派#
外表平静似水,内心坚定如刚。
展开
-
【20211201】【代码优化】使用 cProfile 和 flameprof 绘制火焰图,调优 Python 代码性能
有时候发现自己的代码运行得很慢,但又难以定位是哪里导致的代码性能差。此时,火焰图上场啦~ Python 中的 cProfile 模块可以生成程序运行的火焰图,检测每个模块的运行效率,使用方法如下:(在命令行直接调用)1. 安装 cProfile 库和 flameprof 库pip install cProfilepip install flameprof2. 命令行查看各个模块运行时间python -m cProfile -s tottime myFi...原创 2021-12-01 17:24:44 · 3337 阅读 · 1 评论 -
【20211201】【代码优化】换个思路,优化掉 dropna / value_counts,时间节省 80%
一、问题背景定义一个函数,该函数实现长度为 15s,步进为5s的滑窗中值估计,但有两个约束条件:(1)在窗口内,参数二不能发生变化;(2)在窗口内,参数三的绝对值小于 3。二、我的最初思路(1)计算参数二的差分,如果做完差分后的数据里有非零值,那么就不满足条件1;(2)计算参数三中数据绝对值的最大值,判断最大值是否小于3。def BPM_statistics_bySlideWin(data_bpm_1Hz, data_rangebin, data_powRa.........原创 2021-12-01 15:35:32 · 322 阅读 · 0 评论 -
【20211130】【代码优化】代码优化初体验 —— map / lambda / for循环 / 列表推导式的性能对比
一、什么是列表推导式? 列表推导式可以利用 range、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的列表。 语法:[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]] /[表达式 [if 条件表达式1 else 条件表达式2] for 迭代变量 in 可迭代对象] 其中,[if 条件表达式] 和 [if 条件表达式1 else 条件表达式2] 可选择,可以有也可以没有。如果只有 if 表达式,.........原创 2021-11-30 19:59:26 · 1528 阅读 · 1 评论