| #include <inttypes.h> |
| #include <stdint.h> |
| #include <stdio.h> |
| |
| struct BlockProfileInfo { |
| uint64_t Counter; |
| const char *const BlockName; |
| } __attribute__((aligned(8))); |
| |
| extern const struct BlockProfileInfo *__Sz_block_profile_info; |
| |
| static const char SubzeroLogo[] = |
| "\n" |
| "\n" |
| "__________________________________________________________________________" |
| "____________________________\n" |
| " _____/\\\\\\\\\\\\\\\\\\\\\\__________________/" |
| "\\\\\\_______________________________________________________________\n" |
| " " |
| "___/\\\\\\/////////\\\\\\_______________\\/" |
| "\\\\\\_______________________________________________________________\n" |
| " " |
| "__\\//\\\\\\______\\///________________\\/" |
| "\\\\\\_______________________________________________________________\n" |
| " " |
| "___\\////\\\\\\__________/\\\\\\____/\\\\\\_\\/\\\\\\_________/" |
| "\\\\\\\\\\\\\\\\\\\\\\_____/\\\\\\\\\\\\\\\\___/\\\\/\\\\\\\\\\\\\\____/" |
| "\\\\\\\\\\____\n" |
| " " |
| "______\\////\\\\\\______\\/\\\\\\___\\/\\\\\\_\\/\\\\\\\\\\\\\\\\\\__\\///" |
| "////\\\\\\/____/\\\\\\/////\\\\\\_\\/\\\\\\/////\\\\\\_/\\\\\\///" |
| "\\\\\\__\n" |
| " " |
| "_________\\////\\\\\\___\\/\\\\\\___\\/\\\\\\_\\/\\\\\\////\\\\\\______/" |
| "\\\\\\/_____/\\\\\\\\\\\\\\\\\\\\\\__\\/\\\\\\__\\///__/\\\\\\__\\//" |
| "\\\\\\_\n" |
| " " |
| "__/\\\\\\______\\//\\\\\\__\\/\\\\\\___\\/\\\\\\_\\/\\\\\\__\\/\\\\\\____/" |
| "\\\\\\/______\\//\\\\///////___\\/\\\\\\_______\\//\\\\\\__/\\\\\\__\n" |
| " " |
| "_\\///\\\\\\\\\\\\\\\\\\\\\\/___\\//\\\\\\\\\\\\\\\\\\__\\/" |
| "\\\\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\\\\\\\\__\\//\\\\\\\\\\\\\\\\\\\\_\\/" |
| "\\\\\\________\\///\\\\\\\\\\/___\n" |
| " " |
| "___\\///////////______\\/////////___\\/////////___\\///////////____\\/////" |
| "/////__\\///___________\\/////_____\n" |
| " " |
| "__________________________________________________________________________" |
| "____________________________\n" |
| "\n" |
| "\n"; |
| |
| void __Sz_profile_summary() { |
| printf("%s", SubzeroLogo); |
| for (const struct BlockProfileInfo **curr = &__Sz_block_profile_info; |
| *curr != NULL; ++curr) { |
| printf("%" PRIu64 "\t%s\n", (*curr)->Counter, (*curr)->BlockName); |
| } |
| fflush(stdout); |
| } |