私は現在、時間に敏感なアプリケーションを書いていますが、ハンドルからの読み取り/書き込みと比較して、ハンドル (私の場合は COM ポート) を開いたり閉じたりするのにどのくらいの費用がかかりますか?
他の操作 (動的割り当てとスタック割り当てなど) の相対的なコストは知っていますが、旅行中にこれについて何も見つけられませんでした。
特にデバイスの場合、一意の答えはありません。一般に、「開く」操作 (CreateFile) には、デバイス ドライバーによるより多くの作業が伴います。デバイス ドライバーは、後続の読み取り/書き込み操作を最適化するために、初期化/開始時にできる限りの作業を行う傾向があります。さらに、多くのデバイスでは長いセットアップが必要になる場合があります。たとえば、「従来の」シリアル ドライバは、ボーレート プリスケーラとハンドシェイク信号を初期化するのに時間がかかります。代わりに、デバイスが開いて準備ができている場合、読み取りおよび書き込み操作は通常非常に高速です。しかし、これは単なるヒントであり、使用している特定のドライバーによって異なります (従来の COM? USB コンバーター? ドライバーは大きく異なります)。プロファイラーによる調査をお勧めします。