TransferSegmentMetadata.CalculateSegmentCount(Int64) メソッド

定義

指定した長さのファイルを分割する必要があるセグメントの数を計算します。 これを計算する方法は、入力ファイルのサイズが大きくなるにつれてセグメントの数と各セグメントの長さの両方を拡張できるいくつかの経験的な測定値に基づいています。 どちらも、ファイルの長さが長くなるにつれて対数パターンで増加します。 数式は大まかに次のとおりです。

  • 乗数 = Min(100, 50 * 2 ^ Log10(FileLengthInGB))
  • SegmentCount = Max(1, Multiplier * 2 ^ Log10(FileLengthInGB) 基本的に、ファイル長の 10 倍の増加ごとにセグメント数を 4 倍にし、特定の大文字を付けます。 この数式は、小さなファイルと非常に大きなファイルの両方をサポートするように設計されています (セグメントの長さが非常に小さい場合やセグメント数が非常に多い場合は発生しません)。
public static int CalculateSegmentCount (long fileLength);
static member CalculateSegmentCount : int64 -> int
Public Shared Function CalculateSegmentCount (fileLength As Long) As Integer

パラメーター

fileLength
Int64

バイト単位のファイルの長さ。

戻り値

ファイルを分割するセグメントの数。 fileLength が 0 の場合は 0 を返します。

例外

ファイルの長さを負の値にすることはできません

適用対象