KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Recently, blog entries such as Computing the Size of a Hashmap explained how to reason about space complexities of commonly used container types. Now I'm facing the question of how to actually "see" which memory layout my GHC version chooses (depending on compile flags and target architecture) for weird data types (constructors) such as data BitVec257 = BitVec257 {-# UNPACK #-} !Word64 {-# UNPACK #-} !Word64 {-# UNPACK #-} !Bool {-# UNPACK #-} !Word64 {-# UNPACK #-} !Word64 data BitVec514 = BitVec514 {-# UNPACK #-} !BitVec257 {-# UNPACK #-} !BitVec257 In C there's the sizeof and offsetof operator, which allows me to "see" what size and alignment was chosen for the fields of C struct . I've tried to look at GHC Core in the hope to find some hint there, but I didn't know what to look for. Can somebody point me in the right direction?
Tags (comma-separated)
Save Edits
Cancel