Documentation
¶
Index ¶
- type ExecutionOptimizer
- func (o *ExecutionOptimizer) ExecuteTemplate(ctx context.Context, template *format.Template, data interface{}) (string, error)
- func (o *ExecutionOptimizer) ExecuteTemplates(ctx context.Context, templates []*format.Template, data interface{}) ([]string, error)
- func (o *ExecutionOptimizer) GetConcurrencyManager() *concurrency.ConcurrencyManager
- func (o *ExecutionOptimizer) GetConfig() *ExecutionOptimizerConfig
- func (o *ExecutionOptimizer) GetMemoryOptimizer() *optimization.MemoryOptimizer
- func (o *ExecutionOptimizer) GetMemoryProfiler() *profiling.MemoryProfiler
- func (o *ExecutionOptimizer) GetStats() *ExecutionOptimizerStats
- func (o *ExecutionOptimizer) IsRunning() bool
- func (o *ExecutionOptimizer) SetConfig(config *ExecutionOptimizerConfig)
- func (o *ExecutionOptimizer) Start() error
- func (o *ExecutionOptimizer) Stop()
- type ExecutionOptimizerConfig
- type ExecutionOptimizerStats
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 ¶
func (o *ExecutionOptimizer) GetConfig() *ExecutionOptimizerConfig
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 ¶
func (o *ExecutionOptimizer) GetStats() *ExecutionOptimizerStats
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