ref: 48a546aeb35a92612019402466507e1910c00f81
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);
}