# Profiling newlib-nano's memcpy

DevFeed: [Profiling newlib-nano's memcpy](<https://devfeed.tech/articles/profiling-newlib-nano-s-memcpy-47315.md>)

Original publisher: [Read original article](<https://interrupt.memfault.com/blog/memcpy-newlib-nano>)

Author: Noah Pendleton

Published: 2021-09-07T00:00:00Z

Content type: article

Language: en

Sources: [Interrupt](<https://devfeed.tech/sources/interrupt.md>)

Topics: [Newlib](<https://devfeed.tech/topics/newlib.md>), [C](<https://devfeed.tech/topics/c.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [Arm](<https://devfeed.tech/topics/arm.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Library](<https://devfeed.tech/topics/library.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>)

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [article](<https://devfeed.tech/tags/article.md>), [c](<https://devfeed.tech/tags/c.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [processor](<https://devfeed.tech/tags/processor.md>), [profiling](<https://devfeed.tech/tags/profiling.md>)

## AI overview

This article profiles Newlib-nano's memcpy implementation, comparing its bytewise default behavior with a faster word-based implementation. It explains how GNU Arm Embedded Toolchain optimization settings select the implementation and discusses performance measurement on a Cortex-M4F processor.

## Source excerpt

This article takes a look at one of the commonly used functions provided by the Newlib C library: memcpy. We'll examine the default nano implementation and the performance implications, comparing it against the faster non-default implementation. Continue reading...