.. _module-pw_allocator-size-reports:

==================
Code size analysis
==================
.. pigweed-module-subpage::
   :name: pw_allocator

This module provides the :cc:`pw::Allocator` interface, as
well as several implementations of it. The tables below shows the
relative code size for the interface and each of these implementations. The
measurement includes a call to each method.

-------------------
Allocator interface
-------------------
The following shows the code size incurred by the
:cc:`pw::Allocator` interface itself. A call to each method
of the interface is measured using an empty implementation,
:cc:`pw::allocator::NullAllocator`.

.. include:: allocator_api_size_report

---------------------
Block implementations
---------------------
Most of the concrete allocator implementations are block allocators that use
:ref:`module-pw_allocator-design-blocks` to manage allocations. Code size and
memory overhead for blocks varies depending on what features are included.

The following are code sizes for the block implementations provided by this
module.

.. include:: blocks_size_report

Impact of different hardening levels
====================================
This module includes :cc:`PW_ALLOCATOR_HARDENING` which sets which
validation checks are included. Additional checks can detect more errors at the
cost of additional code size, as illustrated in the size report below:

.. include:: hardening_size_report

----------------------
Bucket implementations
----------------------
Most of the concrete allocator implementations are block allocators that use
:ref:`module-pw_allocator-design-buckets` to organize blocks that are not in use
and are available for allocation.

The following are code sizes for the block implementations provided by this
module. These are measured relative to the container they use, as reusing
container types may save code size. See :ref:`module-pw_containers` for code
size information on each container type.

.. include:: buckets_size_report

-------------------------------
Block allocator implementations
-------------------------------
Most of the concrete allocator implementations provided by this module that
are derived from :cc:`BlockAllocator <pw::allocator::BlockAllocator>`.
The following are code sizes for each of the block allocator implementations,
and are measured relative to the blocks they use.

.. include:: block_allocators_size_report

----------------------------------------
Other concrete allocator implementations
----------------------------------------
The following are code sizes for the other allocator implementations that
directly manage the memory they use to fulfill requests, but that do not derive
from :cc:`BlockAllocator <pw::allocator::BlockAllocator>`. These are
measured relative to the empty implementation measured above.

.. include:: concrete_allocators_size_report

-------------------------------------
Forwarding allocators implementations
-------------------------------------
The following are code sizes for each of the provided "forwarding" allocators as
described by :ref:`module-pw_allocator-design-forwarding`. These are measured
by having the forwarding allocator wrap a
:cc:`FirstFitAllocator <pw::allocator::FirstFitAllocator>`, and are
measured relative to that implementation.

.. include:: forwarding_allocators_size_report
