You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Based on the work in #109 alignment with snmalloc can be implemented extremely efficiently: just two additional instructions, which can be optimised away if the alignment is known to be 1 at compile time.
We should expand the internal alloc functions to take an optional alignment parameter (defaulting to 1). This will be useful for scenarios in Project Verona, and will improve the Rust support in #109.
Integrating it into the internal alloc routines will allow for more efficient detecting corner cases such as zero size or zero alignment by pushing them onto the slow path. This will allow clients to not require checking if it can't be guaranteed by construction.
Currently the maximum alignment we support is SUPERSLAB_SIZE. This is sufficient for most applications, but allowing more would reduce unexpected behaviour. This requires fiddling with the large allocator.
Work items:
Expose alignment at the API level.
Enforce power of two alignment on large allocations.
The text was updated successfully, but these errors were encountered:
Based on the work in #109 alignment with
snmalloc
can be implemented extremely efficiently: just two additional instructions, which can be optimised away if the alignment is known to be1
at compile time.We should expand the internal
alloc
functions to take an optional alignment parameter (defaulting to 1). This will be useful for scenarios in Project Verona, and will improve the Rust support in #109.Integrating it into the internal alloc routines will allow for more efficient detecting corner cases such as zero size or zero alignment by pushing them onto the slow path. This will allow clients to not require checking if it can't be guaranteed by construction.
Currently the maximum alignment we support is SUPERSLAB_SIZE. This is sufficient for most applications, but allowing more would reduce unexpected behaviour. This requires fiddling with the large allocator.
Work items:
The text was updated successfully, but these errors were encountered: