Browse Source Download (without any required ccan dependencies)
likely
macros for annotating likely/unlikely branches in the code
Rusty Russell <rusty@rustcorp.com.au>
Inspired by Andi Kleen's macros for the Linux Kernel, these macros help you annotate rare paths in your code for the convenience of the compiler and the reader.
With CCAN_LIKELY_DEBUG defined, it provides statistics for each likely()/unlikely() call (but note that this requires LGPL dependencies).
#include <ccan/likely/likely.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
// This example is silly: the compiler knows exit() is unlikely.
if (unlikely(argc == 1)) {
fprintf(stderr, "Usage: %s <args>...\n", argv[0]);
return 1;
}
for (argc++; argv[argc]; argc++)
printf("%s\n", argv[argc]);
return 0;
}
CC0 (Public domain)