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
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.