arnavsharma990 commented on issue #20414: URL: https://github.com/apache/nuttx/issues/20414#issuecomment-5960189918
## 2016 → current forensic comparison As suggested by @acassis, I completed the 2016 → current forensic comparison using nm plus isolated parent→child builds (same GCC 16.2.0 for both sides, so the delta is source/config rather than toolchain; era toolchains would shift the absolutes slightly). > [!NOTE] > For `stm32f103-minimum:nsh`, the linked image grew from **38,872 B in 2016** to **52,088 B currently** (**+13,216 B / ~34%**). Beyond the features originally listed, the comparison attributes most of the rest to NSH evolution, serial/termios functionality, libc time/getopt, configuration enablement (e.g. FS commands unlinked in 2016, linked now), and smaller VFS/heap/workqueue changes. ### Reproduced with parent→child builds rather than inferred from symbols | Change | Measured linked-image delta | |---|---:| | `getopt_long()` refactor | **+248 B** at introduction (2021), ~**+380 B** net after later hardening | | `ls -l` timestamp support | **+1,068 B** linked, including the `gmtime_r`/`strftime` chain | | Heap | **+548 B net** — not a major driver | > [!IMPORTANT] > Net of overlaps, the ~13.2 KB is accounted for down to **~100–150 B** of scatter plus alignment/exidx effects. One side observation: the historical per-feature estimates don't map 1:1 onto current linked deltas (e.g. FD table ~1.9 KB claimed vs ~200 B upper bound measured today), so the historical comparison seems more informative than summing today's symbol sizes. I have the `nm` lists and pair-build logs saved — happy to share them or dig into whichever subsystem you'd find most useful next. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
