阅读:1308回复:4
使用缓冲和直接IO对传输速度的影响有多大
当对端口进行传输数据时,比如对并口传输500M的数据
同步接收,使用缓冲好呢?还是直接IO好?(指对速度的影响) 谢谢! ;) |
|
沙发#
发布于:2003-07-26 02:43
当对端口进行传输数据时,比如对并口传输500M的数据 应用程序运行空间与操作系统的空间不在同一空间中,,,, 对于直接IO,,,是操作系统对应用程序向 驱动所传递的参数进行一次拷贝,,,,, 而对于缓冲则是系统将所要传递的参数锁到物理内存中,,,, 然后映射到系统空间中,,,,再进行操作,,,,,, 所以用哪种方式关键在于一次性传递多少数据,,,, 对于少量数据直接拷贝就可以了,,,, 因为将数据锁到物理内存中并向操作系统映射这个过程 需要一定的CPU时间,,,,, 对于你说的情况,,,关键就是这500M要怎么传,,,, 是分成250块每次传2M,还是25K块每次传20字节,,,, |
|
板凳#
发布于:2003-07-26 12:20
用缓冲吧。
并口的速度比较慢。 |
|
地板#
发布于:2003-07-26 17:16
应用程序和驱动之间应该用缓冲好些,否则效率将会很低,如果并口模式支持DMA,那最好用上DMA,因为你传输的是500M啊........
|
|
|
地下室#
发布于:2003-07-28 09:09
谢谢各位的发言
我那就试试缓冲了 |
|