栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【backtrader源码解析4】使用cython改写backtrader的第一个函数:time2num,效率提升2.2倍

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【backtrader源码解析4】使用cython改写backtrader的第一个函数:time2num,效率提升2.2倍

第一次总是比较艰难的,踩过很多坑之后,终于改写成功第一个函数time2num了,效率大概提升了2.2倍。

run 100000 次,循环时间为:0.0006515979766845703,cython耗费时间为:0.012257814407348633,python耗费的时间为:0.027143001556396484,计算部分提升的倍数:2.214342675976893
run 1000000 次,循环时间为:0.006658792495727539,cython耗费时间为:0.1207892894744873,python耗费的时间为:0.2682640552520752,计算部分提升的倍数:2.2209258488000048
run 10000000 次,循环时间为:0.06927633285522461,cython耗费时间为:1.201690673828125,python耗费的时间为:2.6850152015686035,计算部分提升的倍数:2.2343646830637174

不算是效率特别高的提升,但是总体上还算是能够接受的程度。

实现流程
    在backtrader/utils文件夹下,建一个cython_func.pyx用于保存需要编译的cython代码 在backtrader/utils文件夹下,编写一个setup.py,使用python setup.py build_ext --inplace进行编译 编译成功之后,使用python test_time2num.py
cython_func.pyx代码
from cpython.datetime c
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739325.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号