Copyright | (c) 2020 Composewell Technologies |
---|---|
License | BSD-3-Clause |
Maintainer | streamly@composewell.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- defaultChunkSize :: Int
- arrayPayloadSize :: Int -> Int
- unsafeInlineIO :: IO a -> a
- byteArrayOverhead :: Int
Documentation
defaultChunkSize :: Int Source #
Default maximum buffer size in bytes, for reading from and writing to IO devices, the value is 32KB minus GHC allocation overhead, which is a few bytes, so that the actual allocation is 32KB.
arrayPayloadSize :: Int -> Int Source #
When we allocate a byte array of size k
the allocator actually allocates
memory of size k + byteArrayOverhead
. arrayPayloadSize n
returns the
size of the array in bytes that would result in an allocation of n
bytes.
unsafeInlineIO :: IO a -> a Source #
byteArrayOverhead :: Int Source #
Returns the heap allocation overhead for allocating a byte array. Each heap object contains a one word header. Byte arrays contain the size of the array after the header.
See https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/rts/storage/heap-objects#arrays