网站建设资讯

NEWS

网站建设资讯

python函数提速 python函数提高代码执行速度

python函数可以提高代码执行速度吗

不同的编程语言,会有不同 的缓存策略,例如,通过哈希映射、优先级队列等实现缓存。因此,不同的编程语言,在缓存的解决方案方面具有很大差异,可能需要几分钟,也可能需要几小时。

石楼网站建设公司创新互联,石楼网站设计制作,有大型网站制作公司丰富经验。已为石楼1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的石楼做网站的公司定做!

但是,在Python中,标准工具包functools实现了一种名为LRU(Least Recently Used)的缓存策略,可以通过传入参数,来设定缓存最近多少次的计算结果,如果传入参数为None,那么则不缓存。

想用python处理比较大的单色图片文件,如何提高速度

你好,你可以考虑使用numpy的函数来做,下面是例子的python代码

image = np.zeros((400,400,3), dtype="uint8")

raw = image.copy()

image[np.where((image==[0,0,0]).all(axis=2))] = [255,255,255]

cv2.imshow('Test0', image)

lower_black = np.array([0,0,0], dtype = "uint16")

upper_black = np.array([70,70,70], dtype = "uint16")

black_mask = cv2.inRange(image, lower_black, upper_black)

image[np.where((image == [0,0,0]).all(axis = 2))] = [155,255,155]

black_mask[np.where(black_mask == [0])] = [155]

你把上面的那个image的数值改成你需要改的目标就可以直接替换了。

用Python 做策略回测,耗时很长,有什么加速办法

1. 在动手优化之前,先profile看看,程序时间都花在哪些地方了:

python -m cProfile -o output.prof your_program

跑完之后,会生成一个output.profile文件。接下来需要对这个文件进行分析,这方面的工具我推荐SnakeViz,神器。安装非常简单,pip install snakeviz 即可。

snakeviz output.prof

运行之后,会打开一个浏览器窗口,好好看看,哪些函数耗时最多,耗时是因为调用次数太多呢,还是因为单次调用耗时长,明确优化重点;

2. 减少重复计算,缓存计算结果。看看 functools.lru_cache。

3. 能用list comprehension的地方,不要用for;能用numpy的地方,不要手写循环,不要用pandas;

4. 看你的回测,40w个tick的话,数据量不算大,应该是直接load到内存里的吧?

5. 还是慢的话,上Numba — Numba,就是安装麻烦一些,使用起来非常方便,速度提高一两个数量级没问题;

6. 如果你用的包PyPy都支持的话,试试pypy;

7. Cython、c module,上面的都没效果的话,这个是最后的候选方案了。


名称栏目:python函数提速 python函数提高代码执行速度
链接地址:http://cdweb.net/article/doocijo.html