ref: a1c8da91f18c8bd3cdc7ce36c70538969e0c5602
dir: /fcall.c/
#include <stdio.h> #include <stdlib.h> #include "bench.h" void f0(void) { } void f1(int) { } void f4(int, int, int, int) { } void f16(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int) { } void fcall0(B *b) { int i; for(i = 0; i < b->N; i++) f0(); } void fcall1(B *b) { int i; for(i = 0; i < b->N; i++) f1(i); } void fcall4(B *b) { int i; for(i = 0; i < b->N; i++) f4(i, i, i, i); } void fcall16(B *b) { int i; for(i = 0; i < b->N; i++) f16(i, i, i, i, i, i, i, i, i, i, i, i, i, i, i, i); } int main(int argc, char **argv) { benchinit(argc, argv); printf("== function call overhead ==\n"); BM(fcall0); BM(fcall1); BM(fcall4); BM(fcall16); return 0; }