我正在尝试为 Stata 文件类型优化二进制阅读器,并且对文件中的每条记录进行懒惰评估。随着文件大小的增加,阅读器的速度会很快下降。
当我问最初写它的人为什么要使用生成器时,他说要注意记忆。我得到的建议是一次读取和处理更大的文件块,我想知道如何判断我可以在不进入虚拟内存的情况下读取的最大块是多少。
一些旁注
- 为什么读取和处理大块比小块更快。多次调用的间接费用成本加起来这么快吗?
- 我很想看看我是否可以通过尝试 Cython 来获得更大的速度提升。有谁知道我可以查看的带有二进制文件阅读器的任何模块(除了 scipy.stats matlab 文件阅读器)?