Skip to content

Conversation

Freey0
Copy link
Contributor

@Freey0 Freey0 commented Aug 23, 2025

For TCP, CONFIG_PICOLIBC_USE_MODULE=y has a significant impact on performance.

Use nucleo_h743zi board with loopback:

before:
tcp upload: 49.35 Mbps/s

after:
tcp upload: 56.52 Mbps/s

Use nucleo_h743zi board, default config:

before:
tcp upload: 71.3Mbps/s
tcp download: 75.11 Mbps/s

after:
tcp upload: 75.3Mbps/s
tcp download: 94.39 Mbps/s

Use nucleo_h743zi board, with tx async mode #93965:

before:
tcp upload: 71.3Mbps/s
tcp download: 75.11 Mbps/s

after:
tcp upload: 92.9Mbps/s
tcp download: 94.5Mbps/s

For TCP, CONFIG_PICOLIBC_USE_MODULE=y has a significant impact
on performance.

Use nucleo_h743zi board with loopback:
```
before:
tcp upload: 49.35 Mbps/s

after:
tcp upload: 56.52 Mbps/s
```

Use nucleo_h743zi board, default config:
```
before:
tcp upload: 71.3Mbps/s
tcp download: 75.11 Mbps/s

after:
tcp upload: 75.3Mbps/s
tcp download: 94.39 Mbps/s
```

Use nucleo_h743zi board, with tx async mode zephyrproject-rtos#93965:
```
before:
tcp upload: 71.3Mbps/s
tcp download: 75.11 Mbps/s

after:
tcp upload: 92.9Mbps/s
tcp download: 94.5Mbps/s
```

Signed-off-by: WenBin Zhang <[email protected]>
Copy link

Copy link
Member

@jukkar jukkar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just wondering why enabling the option improves the numbers?

@kartben
Copy link
Contributor

kartben commented Aug 25, 2025

Just wondering why enabling the option improves the numbers?

@keith-packard might be able to comment

@Freey0
Copy link
Contributor Author

Freey0 commented Aug 25, 2025

The results of the experiment. I'm curious too. 🤷

@kartben kartben merged commit 231d59f into zephyrproject-rtos:main Aug 27, 2025
25 checks passed
@keith-packard
Copy link
Contributor

It's likely to be using the optimized version of various memory functions. Note that SDK 1.0 will provide -O2 and -Os versions of each library, which should avoid this effect. Still, having the option to configure how all of the code is built can make a difference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants