Skip to main content

AdaptiveBatchSizer

  • Namespace: PPDS.Dataverse.BulkOperations
  • Assembly: PPDS.Dataverse
  • Kind: Class

Summary

Dynamically adjusts DML batch size based on observed execution times. Targets a configurable time per batch (default 10 seconds) to balance throughput and timeout prevention.

Members

Constructors

AdaptiveBatchSizer(int initialSize, double targetSeconds, int minSize, int maxSize)

AdaptiveBatchSizer(int initialSize, double targetSeconds, int minSize, int maxSize)

Initializes a new instance of the PPDS.Dataverse.BulkOperations.AdaptiveBatchSizer class.

  • Param initialSize: The starting batch size. Default: 100.

  • Param targetSeconds: The target execution time per batch in seconds. Default: 10.0.

  • Param minSize: The minimum allowed batch size. Default: 1.

  • Param maxSize: The maximum allowed batch size. Default: 1000.

Methods

RecordBatchResult

void RecordBatchResult(int batchSize, TimeSpan elapsed)

Records the result of a batch execution and adjusts the batch size.

  • Param batchSize: The number of records in the completed batch.

  • Param elapsed: The wall-clock time the batch took to execute.

Properties

CurrentBatchSize

int CurrentBatchSize { get; set; }

Gets the current recommended batch size.