0
A
回答
2
它的缓存一路下跌!
的Readline返回可能由被缓冲的字符串:
- 的Python运行时,
- C标准库(标准输入输出),
- CPU缓存,
- 存储器,包括虚拟存储器,在恶劣的情况下可能是磁盘!
- 磁盘控制器缓存(仅在服务器上),
- 磁盘驱动器缓存。
您提出的二分法有不同的答案,具体取决于您正在查看的级别。对于磁盘驱动器,不存在“文件”或“行”之类的东西,因此它总会读取“块”。一旦将一个磁盘块(几KB)加载到内存中,它可能会坐在那里直到内存需要用于别的东西。而C标准库通常每次缓冲几KB。
因此,一个readline
调用很可能会完成几行所需的大部分处理,并且只会将第一个返回给您。
当然,Python字符串是动态分配的,这意味着包含该行的对象也需要存储在内存中,而在虚拟内存的情况下,其中一些也可能在磁盘上!
相关问题
- 1. 引擎盖下的OpenFileDialog
- 2. XNA在引擎盖下?
- 3. 引擎盖下的继承
- 4. 什么是引擎盖下铸造
- 5. SignalR.Redis如何在引擎盖下工作?
- 6. CSS如何在引擎盖下工作?
- 7. Mockito.when如何在引擎盖下工作
- 8. 引擎盖下的Grails list()方法
- 9. callvirt如何在引擎盖下工作?
- 10. 原子操作:引擎盖下
- 11. PHP flock() - 引擎盖下有什么?
- 12. 引擎盖下如何递归处理
- 13. 引擎盖下的ASP.NET控件
- 14. gmail如何在引擎盖下工作
- 15. Gperftools如何在引擎盖下工作?
- 16. Netty setRadable()引擎盖
- 17. StreamReader ReadLine函数
- 18. Matlab引擎和disp()函数
- 19. 参数绑定:引擎盖下发生了什么?
- 20. 覆盖资源引擎
- 21. Android的JNI引擎盖
- 22. Rails3引擎帮手覆盖
- 23. 看到Ruby的引擎盖?
- 24. Python .readline()
- 25. Python模板引擎
- 26. Python推荐引擎
- 27. 覆盖__cmp__ python函数
- 28. Rails可安装引擎并覆盖另一引擎
- 29. 强制退出readline()函数
- 30. 文件的ReadLine函数
以及该函数的名称是'readline'。我不认为选项2是有道理的。 – DeepSpace
@DeepSpace你可能想看看你系统的IO然后...... –