python 代码执行时间分析与优化

1、特别执行高频交易的时候,需要多线程多进程的工作

2、如果有网络请求,必须采用异步的方式获取数据

3、如果采用pandas计算的时候,多次查找各种值,可以暂时开一个变量进行存取操作;

4、一次性的把各种变量一次性赋值完毕;

5、有各种条件判定的时候,先把最可能出现的放前面,直接去执行;多采用if elif else,这样把其他不必要的条件去尝试判定;

6、各种if 的时候,把最不可能的条件放前面,这样到短路法则就省去后面的执行与判定;

7,采用第三方工具进行运行,看看我们的程序哪一步需要多久时间进行训练;那个部分可以节省时间,那个部分可以用Numba执行,拿个部分可以cpu +gpu联合运算

8、推荐一个第三方分析执行的工具,kernprof,执行的方式

kernprof -l q_tablefuture_all2.py

查看的方式:

python -m line_profiler q_tablefuture_all2.py.lprof

具体查看教程:https://blog.csdn.net/weixin_42245157/article/details/125415104

具体代码使用:

import random

import time

@profile

def function1():

time.sleep(2)

for _ in range(100):

    y = random.randint(1,100)

def function2():

time.sleep(5)

for _ in range(100):

    y = random.randint(1,100)

def function3():

time.sleep(7)

for _ in range(100):

    y = random.randint(1,100)

@profile

def main():

function1()

function2()

function3()

if name == “main”:

main()

下一个文章介绍numba加速运算;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值