nrf: enable link-time optimization
Testing performed: installed freshly built .uf2 on a Particle Xenon. Checked that circuitpython still starts. Checked that the size of all .uf2 files for nrf builds are plausible. Aside from memory savings, the performance of Python code (pystone) increased by about +14%. However, this adds about 12-16 seconds to each nrf build. Timings & Sizes (build system: i5-3320M, -j5 parallelism on 4 threads): Before: $ make -j5 BOARD=particle_xenon 765004 bytes free in flash out of 1048576 bytes ( 1024.0 kb ). 232076 bytes free in ram for stack out of 245760 bytes ( 240.0 kb ). 68.54user 11.83system 0:34.34elapsed 234%CPU pystones before: 570 After: $ make -j5 BOARD=particle_xenon 804284 bytes free in flash out of 1048576 bytes ( 1024.0 kb ). 232072 bytes free in ram for stack out of 245760 bytes ( 240.0 kb ). 71.06user 11.77system 0:46.91elapsed 176%CPU pystones after: 650 Timings on travis: Before: Build feather_nrf52840_express for pl took 55.79s and succeeded Build feather_nrf52840_express for zh_Latn_pinyin took 3.18s and succeeded After: Build feather_nrf52840_express for pl took 62.72s and succeeded Build feather_nrf52840_express for zh_Latn_pinyin took 19.10s Closes: #1396
This commit is contained in:
parent
28b7cbfca6
commit
4bae29b925
|
@ -95,8 +95,7 @@ ifeq ($(DEBUG), 1)
|
|||
CFLAGS += -fno-inline -fno-ipa-sra
|
||||
else
|
||||
CFLAGS += -Os -DNDEBUG
|
||||
# TODO: Test with -flto
|
||||
### CFLAGS += -flto
|
||||
CFLAGS += -flto -flto-partition=none
|
||||
endif
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue