This is an automated email from the ASF dual-hosted git repository.

jerpelea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 7547b2ee50d19375e74fcb5cb8911a5a0c173b95
Author: Patrick José Pereira <[email protected]>
AuthorDate: Thu May 28 11:26:30 2026 -0300

    Documentaiton: net: tcp_network_perf: Add performance tips
    
    Signed-off-by: Patrick José Pereira <[email protected]>
---
 Documentation/components/net/tcp_network_perf.rst | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/Documentation/components/net/tcp_network_perf.rst 
b/Documentation/components/net/tcp_network_perf.rst
index 903995334d0..c55117a912a 100644
--- a/Documentation/components/net/tcp_network_perf.rst
+++ b/Documentation/components/net/tcp_network_perf.rst
@@ -191,3 +191,25 @@ system, that remote peer can easily overrun the
 embedded system due to the embedded system's limited
 buffering space, its much lower processing capability,
 and its slower storage peripherals.
+
+Performance tips
+-------------------------------
+
+If you are chasing throughput on ARM boards (for example STM32H5),
+double-check which libc string implementation is active. In some
+configurations, ``memcpy()``/``memset()`` may fall back to the generic
+implementation, while the architecture-optimized implementation is gated by
+``CONFIG_ARMV8M_STRING_FUNCTION`` or similar.
+
+Practical tuning checklist:
+
+- Enable ``CONFIG_ARMV8M_STRING_FUNCTION`` or similar when using an ARM target
+  and GNU toolchain.
+- Rebuild and re-run throughput tests (for example with ``iperf``) for both
+  TCP and UDP after changing this option.
+- Validate CPU headroom during the test (for example with ``top`` or idle
+  metrics), not only link throughput.
+
+In one STM32H5 test setup, enabling ``CONFIG_ARMV8M_STRING_FUNCTION`` improved
+performance from roughly ~50 Mbit/s to about 95 Mbit/s (UDP) and 84 Mbit/s
+(TCP), with significant idle time still available during ``iperf``.

Reply via email to