optimizer

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExecutionOptimizer

type ExecutionOptimizer struct {
	// contains filtered or unexported fields
}

ExecutionOptimizer optimizes template execution for memory efficiency and concurrency

func NewExecutionOptimizer

func NewExecutionOptimizer(engine *execution.Engine, config *ExecutionOptimizerConfig) (*ExecutionOptimizer, error)

NewExecutionOptimizer creates a new execution optimizer

func (*ExecutionOptimizer) ExecuteTemplate

func (o *ExecutionOptimizer) ExecuteTemplate(ctx context.Context, template *format.Template, data interface{}) (string, error)

ExecuteTemplate executes a template with optimization

func (*ExecutionOptimizer) ExecuteTemplates

func (o *ExecutionOptimizer) ExecuteTemplates(ctx context.Context, templates []*format.Template, data interface{}) ([]string, error)

ExecuteTemplates executes multiple templates with optimization

func (*ExecutionOptimizer) GetConcurrencyManager

func (o *ExecutionOptimizer) GetConcurrencyManager() *concurrency.ConcurrencyManager

GetConcurrencyManager returns the concurrency manager

func (*ExecutionOptimizer) GetConfig

GetConfig returns the configuration for the execution optimizer

func (*ExecutionOptimizer) GetMemoryOptimizer

func (o *ExecutionOptimizer) GetMemoryOptimizer() *optimization.MemoryOptimizer

GetMemoryOptimizer returns the memory optimizer

func (*ExecutionOptimizer) GetMemoryProfiler

func (o *ExecutionOptimizer) GetMemoryProfiler() *profiling.MemoryProfiler

GetMemoryProfiler returns the memory profiler

func (*ExecutionOptimizer) GetStats

GetStats returns statistics for the execution optimizer

func (*ExecutionOptimizer) IsRunning

func (o *ExecutionOptimizer) IsRunning() bool

IsRunning returns if the execution optimizer is running

func (*ExecutionOptimizer) SetConfig

func (o *ExecutionOptimizer) SetConfig(config *ExecutionOptimizerConfig)

SetConfig sets the configuration for the execution optimizer

func (*ExecutionOptimizer) Start

func (o *ExecutionOptimizer) Start() error

Start starts the execution optimizer

func (*ExecutionOptimizer) Stop

func (o *ExecutionOptimizer) Stop()

Stop stops the execution optimizer

type ExecutionOptimizerConfig

type ExecutionOptimizerConfig struct {
	// EnableMemoryOptimization enables memory optimization
	EnableMemoryOptimization bool
	// EnableConcurrencyOptimization enables concurrency optimization
	EnableConcurrencyOptimization bool
	// EnableResultCaching enables result caching
	EnableResultCaching bool
	// ResultCacheSize is the size of the result cache
	ResultCacheSize int
	// ResultCacheTTL is the TTL for cached results
	ResultCacheTTL time.Duration
	// EnableBatchProcessing enables batch processing of templates
	EnableBatchProcessing bool
	// BatchSize is the size of template batches
	BatchSize int
	// MaxConcurrentExecutions is the maximum number of concurrent executions
	MaxConcurrentExecutions int
	// MemoryThreshold is the memory threshold for optimization (in MB)
	MemoryThreshold int64
	// ExecutionTimeout is the timeout for template execution
	ExecutionTimeout time.Duration
	// EnableAdaptiveTimeouts enables adaptive timeouts based on template complexity
	EnableAdaptiveTimeouts bool
}

ExecutionOptimizerConfig represents configuration for the execution optimizer

func DefaultExecutionOptimizerConfig

func DefaultExecutionOptimizerConfig() *ExecutionOptimizerConfig

DefaultExecutionOptimizerConfig returns default configuration for the execution optimizer

type ExecutionOptimizerStats

type ExecutionOptimizerStats struct {
	// TemplatesExecuted is the number of templates executed
	TemplatesExecuted int64
	// TemplatesOptimized is the number of templates optimized
	TemplatesOptimized int64
	// MemorySaved is the amount of memory saved (in MB)
	MemorySaved float64
	// ExecutionTime is the total execution time
	ExecutionTime time.Duration
	// AverageExecutionTime is the average execution time per template
	AverageExecutionTime time.Duration
	// CacheHits is the number of cache hits
	CacheHits int64
	// CacheMisses is the number of cache misses
	CacheMisses int64
	// BatchesProcessed is the number of batches processed
	BatchesProcessed int64
	// ExecutionErrors is the number of execution errors
	ExecutionErrors int64
	// TimeoutErrors is the number of timeout errors
	TimeoutErrors int64
	// MemoryErrors is the number of memory-related errors
	MemoryErrors int64
}

ExecutionOptimizerStats tracks statistics for the execution optimizer

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL