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加速运算;

猜你喜欢

转载自blog.csdn.net/weixin_42480337/article/details/128971646