mirror of
https://github.com/wader/fq.git
synced 2024-11-23 09:56:07 +03:00
decode: Align some heavily used structs to save space
From betteralign: Compound: 8 bytes saved: struct with 40 pointer bytes could be 32 Value: 40 bytes saved: struct with 128 pointer bytes could be 88
This commit is contained in:
parent
56cd9e83ed
commit
621d7f2c22
@ -12,26 +12,26 @@ import (
|
||||
)
|
||||
|
||||
type Compound struct {
|
||||
IsArray bool
|
||||
Children []*Value
|
||||
ByName map[string]*Value
|
||||
Description string
|
||||
Children []*Value
|
||||
IsArray bool
|
||||
}
|
||||
|
||||
// TODO: Encoding, u16le, varint etc, encode?
|
||||
// TODO: Value/Compound interface? can have per type and save memory
|
||||
// TODO: Make some fields optional somehow? map/slice?
|
||||
type Value struct {
|
||||
Parent *Value
|
||||
Name string
|
||||
V any // scalar.S or Compound (array/struct)
|
||||
Index int // index in parent array/struct
|
||||
Range ranges.Range
|
||||
RootReader bitio.ReaderAtSeeker
|
||||
IsRoot bool // TODO: rework?
|
||||
Format *Format // TODO: rework
|
||||
Description string
|
||||
Err error
|
||||
Parent *Value
|
||||
Format *Format // TODO: rework
|
||||
Name string
|
||||
Description string
|
||||
Range ranges.Range
|
||||
Index int // index in parent array/struct
|
||||
IsRoot bool // TODO: rework?
|
||||
}
|
||||
|
||||
type WalkFn func(v *Value, rootV *Value, depth int, rootDepth int) error
|
||||
|
Loading…
Reference in New Issue
Block a user