ref: 721724916347c46df7cfa3105ac6fd1f6da652ed
dir: /fcall.c/
#include <u.h> #include <libc.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); } void main(int argc, char **argv) { benchinit(argc, argv); print("== function call overhead ==\n"); BM(fcall0); BM(fcall1); BM(fcall4); BM(fcall16); exits(nil); }