Table of Contents

Class ConcurrentTransferResult

Namespace
DotCompute.Memory.Types
Assembly
DotCompute.Memory.dll

Represents the result of concurrent memory transfer operations.

public class ConcurrentTransferResult
Inheritance
ConcurrentTransferResult
Inherited Members

Remarks

This class provides comprehensive metrics and statistics for multiple concurrent transfer operations, including individual transfer results, aggregate performance metrics, and error tracking.

Properties

AggregateThroughputMBps

Gets or sets the aggregate throughput in megabytes per second.

public double AggregateThroughputMBps { get; set; }

Property Value

double

The combined throughput of all concurrent transfers in MB/s.

AverageConcurrency

Gets or sets the average concurrency level.

public double AverageConcurrency { get; set; }

Property Value

double

The average number of transfers running simultaneously.

AverageThroughputMBps

Gets or sets the average throughput per transfer in megabytes per second.

public double AverageThroughputMBps { get; set; }

Property Value

double

The average throughput across all transfers in MB/s.

ConcurrencyBenefit

Gets or sets the concurrency benefit ratio.

public double ConcurrencyBenefit { get; set; }

Property Value

double

A value indicating the benefit gained from running transfers concurrently.

Duration

Gets or sets the total duration of all concurrent transfers.

public TimeSpan Duration { get; set; }

Property Value

TimeSpan

The time taken to complete all transfers.

EfficiencyRatio

Gets the efficiency ratio of the concurrent transfers.

public double EfficiencyRatio { get; }

Property Value

double

A value indicating how efficiently the concurrent transfers utilized available resources.

Errors

Gets or sets the list of errors encountered during transfers.

public IList<string> Errors { get; }

Property Value

IList<string>

A list of error messages from failed transfers.

FailedTransfers

Gets or sets the number of failed transfers.

public int FailedTransfers { get; set; }

Property Value

int

The count of transfers that encountered errors.

IndividualResults

Gets or sets the list of individual transfer results.

public IList<AdvancedTransferResult> IndividualResults { get; init; }

Property Value

IList<AdvancedTransferResult>

A list containing the result of each individual transfer operation.

MaxConcurrency

Gets or sets the maximum concurrency level achieved.

public int MaxConcurrency { get; set; }

Property Value

int

The maximum number of transfers running simultaneously.

Metadata

Gets or sets additional metadata about the concurrent transfers.

public Dictionary<string, object>? Metadata { get; set; }

Property Value

Dictionary<string, object>

A dictionary containing additional transfer metadata.

MinThroughputMBps

Gets or sets the minimum throughput observed in megabytes per second.

public double MinThroughputMBps { get; set; }

Property Value

double

The minimum throughput observed during the concurrent transfers in MB/s.

PeakMemoryPressure

Gets or sets the memory pressure during the transfers.

public double PeakMemoryPressure { get; set; }

Property Value

double

A value between 0 and 1 indicating peak memory pressure.

PeakThroughputMBps

Gets or sets the peak throughput achieved in megabytes per second.

public double PeakThroughputMBps { get; set; }

Property Value

double

The maximum throughput observed during the concurrent transfers in MB/s.

Results

Gets the list of individual transfer results (alias for IndividualResults).

public IReadOnlyList<AdvancedTransferResult> Results { get; }

Property Value

IReadOnlyList<AdvancedTransferResult>

A read-only list containing the result of each individual transfer operation.

StartTime

Gets or sets the start time of the concurrent transfer operation.

public DateTimeOffset StartTime { get; set; }

Property Value

DateTimeOffset

The UTC timestamp when the concurrent transfers began.

Success

Gets or sets a value indicating whether all transfers succeeded.

public bool Success { get; set; }

Property Value

bool

True if all transfers completed successfully; otherwise, false.

SuccessRate

Gets the success rate as a percentage.

public double SuccessRate { get; }

Property Value

double

The percentage of successful transfers (0-100).

SuccessfulTransfers

Gets or sets the number of successful transfers.

public int SuccessfulTransfers { get; set; }

Property Value

int

The count of transfers that completed without errors.

TotalBytes

Gets or sets the total bytes transferred (alias for TotalBytesTransferred).

public long TotalBytes { get; set; }

Property Value

long

The aggregate size of all data transferred in bytes.

TotalBytesTransferred

Gets or sets the total bytes transferred across all operations.

public long TotalBytesTransferred { get; set; }

Property Value

long

The aggregate size of all data transferred in bytes.

TransferCount

Gets or sets the number of transfers executed.

public int TransferCount { get; set; }

Property Value

int

The total number of transfer operations.

UsedCompression

Gets or sets a value indicating whether compression was used.

public bool UsedCompression { get; set; }

Property Value

bool

True if any transfer used compression; otherwise, false.

UsedMemoryMapping

Gets or sets a value indicating whether memory mapping was used.

public bool UsedMemoryMapping { get; set; }

Property Value

bool

True if any transfer used memory mapping; otherwise, false.

UsedStreaming

Gets or sets a value indicating whether streaming was used.

public bool UsedStreaming { get; set; }

Property Value

bool

True if any transfer used streaming; otherwise, false.

Methods

ToString()

Gets a formatted summary of the concurrent transfer results.

public override string ToString()

Returns

string

A human-readable summary of the concurrent transfer operations.