in core/ on master
› make furi_debug
gcc -pg -std=c99 -c -o engine.o engine.c
gcc -pg -std=c99 -c -o core.o core.c
gcc -pg -std=c99 -c -o display.o display.c
gcc -pg -std=c99 -c -o background.o background.c
gcc -pg -std=c99 -c -o helper_funcs.o helper_funcs.c
gcc engine.o core.o display.o background.o helper_funcs.o -pg -std=c99 -o furi_debug -lallegro-debug -lallegro_main-debug -lallegro_image-debug -ljansson -ltcmalloc -lprofiler
in core/ on master
› env CPUPROFILE=dump.prof ./furi_debug
PROFILE: interrupts/evictions/bytes = 10/0/1864
in core/ on master
› pprof --text ./furi_debug dump.prof
Using local file ./furi_debug.
Using local file dump.prof.
Removing __sigtramp from all stack traces.
Total: 10 samples
8 80.0% 80.0% 8 80.0% _mach_msg_trap
1 10.0% 90.0% 1 10.0% ___workq_kernreturn
1 10.0% 100.0% 1 10.0% _getattrlist
0 0.0% 100.0% 1 10.0% +[ALDisplayHelper initialiseDisplay:]
0 0.0% 100.0% 9 90.0% 0x00000001055297c0
0 0.0% 100.0% 9 90.0% 0x00000001055298ca
0 0.0% 100.0% 9 90.0% 0x0000000105709f29
0 0.0% 100.0% 1 10.0% 0x000000010f0ef8bf
0 0.0% 100.0% 2 20.0% 0x00007fdc7a2259ff
0 0.0% 100.0% 2 20.0% 0x00007fff65125bb7
0 0.0% 100.0% 1 10.0% 0x00007fff8800801c
0 0.0% 100.0% 1 10.0% 0x00007fff8800842f
0 0.0% 100.0% 1 10.0% 0x00007fff880097e3
0 0.0% 100.0% 1 10.0% 0x00007fff880099f2
0 0.0% 100.0% 1 10.0% 0x00007fff8800b1a9
0 0.0% 100.0% 1 10.0% 0x00007fff8800b228
0 0.0% 100.0% 1 10.0% 0x00007fff8800b39e
0 0.0% 100.0% 1 10.0% 0x00007fff8800b43e
0 0.0% 100.0% 1 10.0% 0x00007fff8800b6b4
0 0.0% 100.0% 1 10.0% 0x00007fff8800b76d
0 0.0% 100.0% 1 10.0% 0x00007fff8800bb38
0 0.0% 100.0% 1 10.0% 0x00007fff88033549
0 0.0% 100.0% 1 10.0% 0x00007fff889e924d
0 0.0% 100.0% 1 10.0% 0x00007fff889e9a68
0 0.0% 100.0% 1 10.0% 0x00007fff889eb000
0 0.0% 100.0% 1 10.0% 0x00007fff889eb081
0 0.0% 100.0% 8 80.0% 0x00007fff889ec070
0 0.0% 100.0% 8 80.0% 0x00007fff889ef734
0 0.0% 100.0% 8 80.0% 0x00007fff889efe30
0 0.0% 100.0% 1 10.0% 0x00007fff88a2c2ec
0 0.0% 100.0% 1 10.0% 0x00007fff88a3386e
0 0.0% 100.0% 1 10.0% 0x00007fff88a3844e
0 0.0% 100.0% 1 10.0% 0x00007fff88a38f54
0 0.0% 100.0% 1 10.0% 0x00007fff88a3b979
0 0.0% 100.0% 1 10.0% 0x00007fff88a61e0c
0 0.0% 100.0% 1 10.0% 0x00007fff88a620a2
0 0.0% 100.0% 1 10.0% 0x00007fff88a68b4e
0 0.0% 100.0% 1 10.0% 0x00007fff88a6af46
0 0.0% 100.0% 1 10.0% 0x00007fff88a6b4d9
0 0.0% 100.0% 1 10.0% 0x00007fff88a6b73a
0 0.0% 100.0% 1 10.0% 0x00007fff88a6b7dd
0 0.0% 100.0% 1 10.0% 0x00007fff88a6b83e
0 0.0% 100.0% 1 10.0% 0x00007fff88a6bbb9
0 0.0% 100.0% 1 10.0% 0x00007fff88a6c110
0 0.0% 100.0% 1 10.0% 0x00007fff88a79408
0 0.0% 100.0% 1 10.0% 0x00007fff88a797b9
0 0.0% 100.0% 1 10.0% 0x00007fff88aae2c6
0 0.0% 100.0% 1 10.0% 0x00007fff88aca6b4
0 0.0% 100.0% 1 10.0% 0x00007fff88aca945
0 0.0% 100.0% 1 10.0% 0x00007fff88ad9396
0 0.0% 100.0% 1 10.0% 0x00007fff88ad9506
0 0.0% 100.0% 1 10.0% 0x00007fff88ae88cc
0 0.0% 100.0% 1 10.0% 0x00007fff88ae902b
0 0.0% 100.0% 1 10.0% 0x00007fff88ae93a7
0 0.0% 100.0% 1 10.0% 0x00007fff88ae99aa
0 0.0% 100.0% 1 10.0% 0x00007fff88afb584
0 0.0% 100.0% 1 10.0% 0x00007fff88c1e023
0 0.0% 100.0% 1 10.0% 0x00007fff88c1e8dc
0 0.0% 100.0% 1 10.0% 0x00007fff88c1ed73
0 0.0% 100.0% 1 10.0% 0x00007fff8b395d6f
0 0.0% 100.0% 1 10.0% 0x00007fff8e3cef37
0 0.0% 100.0% 1 10.0% 0x00007fff8e3cf31b
0 0.0% 100.0% 1 10.0% 0x00007fff8e3cf3e5
0 0.0% 100.0% 6 60.0% 0x00007fff8e3cf4d2
0 0.0% 100.0% 1 10.0% 0x00007fff8e3d62c9
0 0.0% 100.0% 1 10.0% 0x00007fff8e3d6345
0 0.0% 100.0% 8 80.0% 0x00007fff8e3d660d
0 0.0% 100.0% 2 20.0% 0x00007fff8e3d66d2
0 0.0% 100.0% 5 50.0% 0x00007fff8e3d6780
0 0.0% 100.0% 1 10.0% 0x00007fff8e3d679b
0 0.0% 100.0% 1 10.0% 0x00007fff8e3d70cf
0 0.0% 100.0% 1 10.0% 0x00007fff8e3d854b
0 0.0% 100.0% 1 10.0% 0x00007fff8e3dd270
0 0.0% 100.0% 1 10.0% 0x00007fff8e3dd8b6
0 0.0% 100.0% 1 10.0% 0x00007fff8e3e470e
0 0.0% 100.0% 1 10.0% 0x00007fff8e3e49d7
0 0.0% 100.0% 1 10.0% 0x00007fff8e3eacce
0 0.0% 100.0% 1 10.0% 0x00007fff8e3eafe3
0 0.0% 100.0% 1 10.0% 0x00007fff8e3eec2e
0 0.0% 100.0% 1 10.0% 0x00007fff8e3eee23
0 0.0% 100.0% 1 10.0% 0x00007fff8e3f4dee
0 0.0% 100.0% 1 10.0% 0x00007fff8e3f5168
0 0.0% 100.0% 1 10.0% 0x00007fff8e3f5f84
0 0.0% 100.0% 1 10.0% 0x00007fff8e3f6223
0 0.0% 100.0% 1 10.0% 0x00007fff8e3f657f
0 0.0% 100.0% 1 10.0% 0x00007fff8e3f67c5
0 0.0% 100.0% 1 10.0% 0x00007fff8e3f6cad
0 0.0% 100.0% 1 10.0% 0x00007fff8e3f7631
0 0.0% 100.0% 1 10.0% 0x00007fff8e41d874
0 0.0% 100.0% 1 10.0% 0x00007fff8e41d9e4
0 0.0% 100.0% 1 10.0% 0x00007fff8e41e837
0 0.0% 100.0% 1 10.0% 0x00007fff8e41fa12
0 0.0% 100.0% 1 10.0% 0x00007fff8e41fcb0
0 0.0% 100.0% 1 10.0% 0x00007fff8e41ffe4
0 0.0% 100.0% 1 10.0% 0x00007fff8e420143
0 0.0% 100.0% 1 10.0% 0x00007fff8e420c2e
0 0.0% 100.0% 1 10.0% 0x00007fff8e420d08
0 0.0% 100.0% 1 10.0% 0x00007fff8e420d8a
0 0.0% 100.0% 1 10.0% 0x00007fff8ed576db
0 0.0% 100.0% 1 10.0% 0x00007fff8ed60ea1
0 0.0% 100.0% 1 10.0% 0x00007fff8f965221
0 0.0% 100.0% 1 10.0% 0x00007fff8fc15d5c
0 0.0% 100.0% 1 10.0% 0x00007fff8fc160a3
0 0.0% 100.0% 1 10.0% 0x00007fff8fc16120
0 0.0% 100.0% 1 10.0% 0x00007fff8fc162d1
0 0.0% 100.0% 1 10.0% 0x00007fff8fc164f0
0 0.0% 100.0% 5 50.0% 0x00007fff8fc3450b
0 0.0% 100.0% 6 60.0% 0x00007fff8fc3c485
0 0.0% 100.0% 1 10.0% 0x00007fff8fc3cb48
0 0.0% 100.0% 5 50.0% 0x00007fff8fc3cc73
0 0.0% 100.0% 1 10.0% 0x00007fff8fc3d2ba
0 0.0% 100.0% 1 10.0% 0x00007fff8fc3d3c4
0 0.0% 100.0% 1 10.0% 0x00007fff8fc3eeea
0 0.0% 100.0% 1 10.0% 0x00007fff8fc3f804
0 0.0% 100.0% 1 10.0% 0x00007fff8fc40886
0 0.0% 100.0% 1 10.0% 0x00007fff8fc5b224
0 0.0% 100.0% 1 10.0% 0x00007fff8fcd1d9c
0 0.0% 100.0% 1 10.0% 0x00007fff902f00a5
0 0.0% 100.0% 1 10.0% 0x0100000000c07670
0 0.0% 100.0% 9 90.0% __al_osx_run_main
0 0.0% 100.0% 1 10.0% __dispatch_queue_push_list_slow
0 0.0% 100.0% 1 10.0% __dispatch_queue_wakeup_global
0 0.0% 100.0% 1 10.0% __dispatch_wakeup
0 0.0% 100.0% 9 90.0% __mh_execute_header
0 0.0% 100.0% 1 10.0% _mach_port_insert_member
0 0.0% 100.0% 1 10.0% _pthread_workqueue_additem_np
0 0.0% 100.0% 1 10.0% _vm_deallocate
0 0.0% 100.0% 1 10.0% _xpc_connection_send_message