Implement `calloc{,Bytes,Array,Array0}` allocators
Herbert Valerio Riedel
hvr at gnu.org
Sun Nov 30 08:42:20 UTC 2014
On 2014-11-29 at 17:05:58 +0100, Oleksandr Petrov wrote:
> There is a proposal [1] (with implemented revision) to implement
> zero-initialising
> versions
> of malloc{,Bytes,Array,Array0}
>
> - Add calloc and callocBytes to Foreign.Marshal.Alloc.
> - Add callocArray and callocArray0 to Foreign.Marshal.Array.
>
> The benefit is that you can allocate required amount of memory and be
> certain that it will be cleared
> (set with zeroes) before you use it.
+1
(Fwiw, it's not only a convenient combined operation but it also has
potentially less overhead by requiring only a single FFI-call to
calloc(3), instead of having to FFI-call twice into libc when doing
malloc(3)+memset(3))
More information about the Libraries
mailing list