SchedulerConfig

cc.otavia.core.config.SchedulerConfig
case class SchedulerConfig(ioRatio: Int = ..., minBudgetMicros: Int = ..., stealFloor: Int = ..., stealAggression: Int = ...)

Actor scheduling configuration for the event loop.

Value parameters

ioRatio

Percentage of event loop time allocated to IO (0-100). The remaining time is allocated to StateActor execution. Default is 50 (equal time for IO and actors). Set to 100 to disable time budgeting for actors.

minBudgetMicros

Minimum time budget in microseconds for StateActor execution when there are no IO events. Prevents actor starvation when the system is idle from an IO perspective. Default is 500μs.

stealAggression

Product threshold for the adaptive steal condition: idleCount × readies >= stealAggression. Higher values make stealing more conservative (require more idle iterations or deeper backlog). Default is 128.

stealFloor

Minimum victim queue depth to consider work stealing. Below this threshold the owner thread will self-drain quickly, and the CPU cache cost of cross-thread execution outweighs the benefit. Default is 32.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product