!(c) Dennis Felsing3-Clause BSD-styledennis@felsin9.deNoneFq ghc-datasizeCalculate size of GHC objects in Bytes. Note that an object may not be evaluated yet and only the size of the initial closure is returned. ghc-datasizeCalculate the recursive size of GHC objects in Bytes. Note that the actual size in memory is calculated, so shared values are only counted once. Call with  recursiveSize $! 2 < to force evaluation to WHNF before calculating the size. Call with # recursiveSize $!! "foobar" W ($!! from Control.DeepSeq) to force full evaluation before calculating the size.A garbage collection is performed before the size is calculated, because the garbage collector would make heap walks difficult.This function works very quickly on small data structures, but can be slow on large and complex ones. If speed is an issue it's probably possible to get the exact size of a small portion of the data structure and then estimate the total size from that. ghc-datasizeCalculate the recursive size of GHC objects in Bytes after calling Control.DeepSeq.force on the data structure to force it into Normal Form. Using this function requires that the data structure has an  typeclass instance. ghc-datasize Adapted from  which isn't exported.This returns the raw words of the closure on the heap. Once back in the Haskell world, the raw words that hold pointers may be outdated after a garbage collector run.  )ghc-datasize-0.2.2-FMzv51x1yFXLNO5rdNDk2X GHC.DataSize GHC.Exts.Heap getClosureRaw closureSize recursiveSizerecursiveSizeNFdeepseq-1.4.4.0Control.DeepSeqNFDatagetClosureRawWords