Cold Start Profiling - FujiNetWIFI/fujinet-firmware GitHub Wiki

This is the result of an impromptu profiling effort to reduce start-up time.

Ultimate Goal

  • 450ms

Source

https://github.com/FujiNetWIFI/fujinet-firmware/blob/master/src/main.cpp

Results

Line ms Description
152 3 Immediately after start
165 18 nvs_flash_init()
194 19 check_hardware_ver()
196 19 fnKeyManager.setup()
199 19 fnLedManager.setup()
200 430 fsFlash.start()
202 507 fnSDFAT.start()
208 508 crypto.setkey()
212 588 Config.load()
216 760 theFuji.setup()

theFuji.setup()

Method is different than above. Instead, we return at different line numbers.

Line ms Description
2127 589 _sio_bus = siobus;
2129 589 populate_slots_from_config();
2131 761 insert_boot_device(Config.get_general_boot_mode())