Documentation
¶
Overview ¶
Package calculator provides size calculation and efficiency analysis.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatBytes ¶
FormatBytes formats bytes to human-readable string.
func FormatBytesPrecise ¶
FormatBytesPrecise formats bytes with more precision for large values.
Types ¶
type Calculator ¶
type Calculator struct{}
Calculator performs size and efficiency calculations on images.
func (*Calculator) CalculateEfficiency ¶
func (c *Calculator) CalculateEfficiency(image *models.Image) EfficiencyResult
CalculateEfficiency computes an efficiency score for the image.
func (*Calculator) CalculateSizeBreakdown ¶
func (c *Calculator) CalculateSizeBreakdown(image *models.Image) SizeBreakdown
CalculateSizeBreakdown analyzes the image size by different categories.
type EfficiencyResult ¶
type EfficiencyResult struct {
Score float64 `json:"score"` // 0-100 efficiency score
WastedSpace int64 `json:"wasted_space"` // Estimated wasted bytes
WastedSpacePercent float64 `json:"wasted_space_percent"`
DuplicateLayers int `json:"duplicate_layers"` // Count of potentially duplicate layers
EmptyLayers int `json:"empty_layers"` // Count of empty/meta layers
OptimizationTips []string `json:"optimization_tips"`
}
EfficiencyResult contains efficiency metrics.
type SizeBreakdown ¶
type SizeBreakdown struct {
TotalSize int64 `json:"total_size"`
LayerCount int `json:"layer_count"`
SizeByType map[models.LayerType]int64 `json:"size_by_type"`
SizeByTypePercent map[models.LayerType]float64 `json:"size_by_type_percent"`
MetaLayerSize int64 `json:"meta_layer_size"`
DataLayerSize int64 `json:"data_layer_size"`
}
SizeBreakdown contains categorized size information.
Click to show internal directories.
Click to hide internal directories.