これは、ソフトウェアというよりハードウェアの問題です。
ハードディスク ドライブから 512 バイト セクタのデータを取得したいと考えています。平均シーク時間は 9 ミリ秒で、ディスクは 7200 RPM で回転します。データの上に配置されると、データは 15 MB/秒で転送できます。データの取得には平均でどのくらいの時間がかかりますか?
これを計算するには、ある種の公式が必要ですよね?それを使用して、プログラムを作成する予定です。助けてください。
これに対する答えは自明ではなく、おそらく無関係です。データの取得時間は、OS リソース、さまざまなレベルのキャッシュ、データが物理的にドライブ上にある場所 (外側のエッジは内側よりも高速) などによって異なります。
私が無関係と言ったのは、プログラマーとしてできることは何もなく、信頼することもできないからです。ドライブが予想よりも遅い場合 (NFS/Samba マウント)? 高速 (RAID0、SSD)?
理論的には、平均的なケースを探している場合、そのデータを見つけるための平均シーク時間 + データ転送時間になります。ただし、ディスクにはある種の OS があり、データが断片化されている可能性があるため (内容によっては)、時間が大幅に増加する可能性があります。
PSコマンドの処理時間もありますが、通常はナノ秒の範囲です