python - 如何缓存读取?

标签 python caching bioinformatics samtools pysam

我正在使用 python/pysam 来分析测序数据。在它的命令伙伴教程(pysam - An interface for reading and writing SAM files)中说:

'这种方法对于高通量处理来说太慢了。如果读取需要与其伙伴一起处理,请从读取名称排序文件或更好的缓存读取中工作。'

您将如何“缓存读取”?

最佳答案

Caching是加速长时间运行操作的典型方法。它为了计算速度而牺牲了内存。

假设您有一个函数,给定一组参数总是返回相同的结果。不幸的是,这个函数非常慢,你需要调用它很多次,这会减慢你的程序。

您可以做的是存储有限数量的 {parameters: result} 组合,并在使用相同参数调用函数时跳过其逻辑。

这是一个卑鄙的把戏,但非常有效,尤其是当参数组合与函数速度相比较低时。

在 Python 3 中有一个 decorator为此目的。
在 Python 2 中一个 library可以提供帮助,但您需要做更多的工作。

关于python - 如何缓存读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34302597/

相关文章:

python - python中没有最后4个字节的二进制数据的CRC32

python - 构建类以迭代返回的结构

c# - .net MemoryCache - 通知删除的项目

javascript - 奇怪的缓存问题: FireFox4

javascript - react : What would be a recommended way to cache state of the app in the browser to minimize the amount of requests to the backend?

r - 根据函数变量的值有条件地将图层添加到 ggplot

bash - 如何使用文件名重命名多个多fasta文件中的 header ?

python - 可以使用 python 3 从 networkx 获取分层图吗?

python - 反向互补DNA

python - 为什么使用巴特沃斯滤波器进行低频滤波时会出现错误?