Safe Haskell | Safe-Inferred |
---|
- data Bytes
- data Size
- data SizeTable
- data SizeStatistics
- class Typeable a => Sizeable a where
- bitsPerWord :: Int
- bytesPerWord :: Int
- bytesPerChar :: Int
- bytesToWords :: Int -> Int
- wordAlign :: Bytes -> Bytes
- mkBytes :: Int -> Int -> Bytes
- mkSize :: Bytes -> Size
- dataSize :: Size -> Int
- singletonSize :: Size
- dataOfObj :: Bytes -> Bytes
- dataOfConstr :: Bytes
- dataOfPtr :: Bytes
- dataOfSingleton :: Bytes
- (.*.) :: Scale a => Int -> a -> a
- typeName :: Typeable a => a -> String
- setName :: String -> SizeStatistics -> SizeStatistics
- addSize :: Size -> SizeStatistics -> SizeStatistics
- addPart :: String -> String -> Size -> SizeStatistics -> SizeStatistics
- mkObject :: Sizeable a => a -> Size
- mkStats :: Sizeable a => a -> SizeStatistics
- constrStats :: Sizeable a => String -> a -> SizeStatistics
- showStats :: SizeStatistics -> String
- mempty :: Monoid a => a
- mappend :: Monoid a => a -> a -> a
- mconcat :: Monoid a => [a] -> a
- (<>) :: Monoid m => m -> m -> m
Documentation
class Typeable a => Sizeable a whereSource
statsOf :: a -> SizeStatisticsSource
Sizeable Bool | |
Sizeable Char | |
Sizeable Double | |
Sizeable Float | |
Sizeable Int | |
Sizeable Int8 | |
Sizeable Int16 | |
Sizeable Int32 | |
Sizeable Int64 | |
Sizeable Word8 | |
Sizeable Word16 | |
Sizeable Word32 | |
Sizeable Word64 | |
Sizeable ByteString | |
Sizeable ByteString | |
Sizeable IntSet | |
Sizeable Text | |
Sizeable Text | |
Sizeable a => Sizeable [a] | |
Sizeable t => Sizeable (Maybe t) | |
Sizeable v => Sizeable (IntMap v) | |
(Sizeable t1, Sizeable t2) => Sizeable (Either t1 t2) | |
(Sizeable t1, Sizeable t2) => Sizeable (t1, t2) | |
(Sizeable k, Sizeable v) => Sizeable (Map k v) | |
(Sizeable t1, Sizeable t2, Sizeable t3) => Sizeable (t1, t2, t3) | |
(Sizeable t1, Sizeable t2, Sizeable t3, Sizeable t4) => Sizeable (t1, t2, t3, t4) |
bytesToWords :: Int -> IntSource
Make a counter for one object with n fields
constructors count 1 word If # words for the data is 0, it's a singleton, so the # of objects are not accumulated
The size value of a singleton
Singletons are only counted once
setName :: String -> SizeStatistics -> SizeStatisticsSource
addSize :: Size -> SizeStatistics -> SizeStatisticsSource
addPart :: String -> String -> Size -> SizeStatistics -> SizeStatisticsSource
mkStats :: Sizeable a => a -> SizeStatisticsSource
constrStats :: Sizeable a => String -> a -> SizeStatisticsSource