
26 Nov
2014
26 Nov
'14
8:55 p.m.
Brandon Simmons wrote:
In my tests, using calloc from:
https://hackage.haskell.org/package/missing-foreign-0.1.1/docs/Foreign-Marsh...
was about twice as fast as allocating and zeroing the same amount of memory with `newByteArray` + any of `copy/set/fillMutableByteArray` (all three were nearly identical). Is there a way I can reasonably define my own `newByteArray` that uses calloc?
FWIW here are a couple of the benchmarks I'm working with in criterion:
arrTestSet :: Int -> IO () arrTestSet len = do let eBytes = (P.sizeOf (undefined::Int))*len a <- P.newAlignedPinnedByteArray
Why pinned memory? Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/