Skip to content
Snippets Groups Projects
Commit 8be60821 authored by Tomasz Drwięga's avatar Tomasz Drwięga Committed by GitHub
Browse files

Fix allocator waste assessment in docs (#9167)

* Fix allocator comment.

* Add explanations where this comes from.

* Clarify absolute values.
parent 77a4b980
No related merge requests found
......@@ -60,8 +60,11 @@
//! fail.
//!
//! - Sizes of allocations are rounded up to the nearest order. That is, an allocation of 2,00001 MiB
//! will be put into the bucket of 4 MiB. Therefore, typically more than half of the space in allocation
//! will be wasted. This is more pronounced with larger allocation sizes.
//! will be put into the bucket of 4 MiB. Therefore, any allocation of size `(N, 2N]` will take
//! up to `2N`, thus assuming a uniform distribution of allocation sizes, the average amount in use
//! of a `2N` space on the heap will be `(3N + ε) / 2`. So average utilisation is going to be around
//! 75% (`(3N + ε) / 2 / 2N`) meaning that around 25% of the space in allocation will be wasted.
//! This is more pronounced (in terms of absolute heap amounts) with larger allocation sizes.
use crate::Error;
use sp_std::{mem, convert::{TryFrom, TryInto}, ops::{Range, Index, IndexMut}};
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment