strategies

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2020 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// pack/unpack mem util
	Pack   gopium.StrategyName = "memory_pack"
	Unpack gopium.StrategyName = "memory_unpack"
	// explicit sys/type pads
	PadSys  gopium.StrategyName = "explicit_padings_system_alignment"
	PadTnat gopium.StrategyName = "explicit_padings_type_natural"
	// false sharing guards
	FShareL1 gopium.StrategyName = "false_sharing_cpu_l1"
	FShareL2 gopium.StrategyName = "false_sharing_cpu_l2"
	FShareL3 gopium.StrategyName = "false_sharing_cpu_l3"
	// cache line pad roundings
	CacheL1  gopium.StrategyName = "cache_rounding_cpu_l1"
	CacheL2  gopium.StrategyName = "cache_rounding_cpu_l2"
	CacheL3  gopium.StrategyName = "cache_rounding_cpu_l3"
	FcacheL1 gopium.StrategyName = "full_cache_rounding_cpu_l1"
	FcacheL2 gopium.StrategyName = "full_cache_rounding_cpu_l2"
	FcacheL3 gopium.StrategyName = "full_cache_rounding_cpu_l3"
	// top, bottom separate pads
	SepSysT gopium.StrategyName = "separate_padding_system_alignment_top"
	SepL1T  gopium.StrategyName = "separate_padding_cpu_l1_top"
	SepL2T  gopium.StrategyName = "separate_padding_cpu_l2_top"
	SepL3T  gopium.StrategyName = "separate_padding_cpu_l3_top"
	SepSysB gopium.StrategyName = "separate_padding_system_alignment_bottom"
	SepL1B  gopium.StrategyName = "separate_padding_cpu_l1_bottom"
	SepL2B  gopium.StrategyName = "separate_padding_cpu_l2_bottom"
	SepL3B  gopium.StrategyName = "separate_padding_cpu_l3_bottom"
	// tag processors and modifiers
	PTGrp    gopium.StrategyName = "process_tag_group"
	AddTagS  gopium.StrategyName = "add_tag_group_soft"
	AddTagF  gopium.StrategyName = "add_tag_group_force"
	AddTagSD gopium.StrategyName = "add_tag_group_discrete"
	AddTagFD gopium.StrategyName = "add_tag_group_force_discrete"
	RmTagF   gopium.StrategyName = "remove_tag_group"
	// doc and comment annotations
	FNoteDoc  gopium.StrategyName = "doc_fields_annotate"
	FNoteCom  gopium.StrategyName = "comment_fields_annotate"
	StNoteDoc gopium.StrategyName = "doc_struct_annotate"
	StNoteCom gopium.StrategyName = "comment_struct_annotate"
	// lexicographical, length, embedded, exported sorts
	NLexAsc  gopium.StrategyName = "name_lexicographical_ascending"
	NLexDesc gopium.StrategyName = "name_lexicographical_descending"
	TLexAsc  gopium.StrategyName = "type_lexicographical_ascending"
	TLexDesc gopium.StrategyName = "type_lexicographical_descending"
	// filters and others
	FPad   gopium.StrategyName = "filter_pads"
	Ignore gopium.StrategyName = "ignore"
)

list of registered types strategies

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	Curator gopium.Curator `gopium:"filter_pads,memory_pack,cache_rounding_cpu_l1,comment_struct_annotate,add_tag_group_force"`

} // struct size: 16 bytes; struct align: 8 bytes; struct aligned size: 16 bytes; - 🌺 gopium @1pkg

Builder defines types gopium.StrategyBuilder implementation that uses gopium.Curator as an exposer and related strategies

func (Builder) Build

func (b Builder) Build(names ...gopium.StrategyName) (gopium.Strategy, error)

Build Builder implementation

Jump to

Keyboard shortcuts

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