我目前正在编写一个时间敏感的应用程序,它让我想到:与从句柄读/写相比,打开/关闭句柄(在我的情况下是一个COM端口)有多昂贵?
我知道其他操作的相对成本(例如动态分配与堆栈分配),但我在旅行中没有找到任何关于此的内容。
答案 0 :(得分:0)
没有唯一的答案,特别是在设备的情况下。通常,“打开”操作(CreateFile)涉及设备驱动程序的更多工作。设备驱动程序倾向于在初始化/打开时完成大部分工作,以优化后续的读/写操作。此外,许多设备可能需要很长的设置。例如。 “经典”串行驱动程序需要很长时间来初始化波特率预分频器和握手信号。相反,当设备打开并准备就绪时,读写操作通常非常快。但这只是一个提示,它取决于您使用的特定驱动程序(传统的COM?USB转换器?驱动程序是非常不同的)。我建议您通过剖析器进行调查。