2013-06-12 38 views
0

我目前正在寫一個時間敏感的應用程序,它讓我思考:與從句柄讀取/寫入相比,打開/關閉句柄(在我的情況下是COM端口)的開銷是多少?打開手柄有多貴?

我知道其他操作(如動態分配與堆棧分配)的相對成本,但我在這次旅行中沒有發現任何東西。

+2

你的分析實驗揭示了什麼? – jxh

回答

0

沒有獨特的答案,特別是在設備的情況下。通常,「打開」操作(CreateFile)涉及設備驅動程序的更多工作。設備驅動程序傾向於在初始化/打開時做最多的工作,以優化後續的讀/寫操作。而且,許多設備可能需要很長的設置。例如。 「經典」串行驅動程序需要很長時間才能初始化波特率預分頻器和握手信號。相反,當設備處於打開狀態時,讀取和寫入操作通常非常快。但這只是一個提示,它取決於您使用的特定驅動程序(傳統COM?USB轉換器?驅動程序是非常不同的)。我建議你由探查者進行調查。