Skip to content

Instantly share code, notes, and snippets.

@errzey
Created June 30, 2011 19:43
Show Gist options
  • Save errzey/1057035 to your computer and use it in GitHub Desktop.
Save errzey/1057035 to your computer and use it in GitHub Desktop.
Evbuffer Profile
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <errno.h>
#include <time.h>
#include <event.h>
static void
test_evbuffers(int iter) {
struct evbuffer * buf = evbuffer_new();
int i;
for (i = 0; i < iter; i++) {
evbuffer_add(buf, "foo", 3);
evbuffer_add(buf, "foo", 3);
evbuffer_add(buf, "foo", 3);
evbuffer_add(buf, "bar", 3);
evbuffer_add(buf, "bar", 3);
evbuffer_add(buf, "bar", 3);
evbuffer_drain(buf, evbuffer_get_length(buf));
}
evbuffer_free(buf);
}
int
main(int argc, char ** argv) {
clock_t t0;
clock_t t1;
int iter = atoi(argv[1]);
printf("Testing evbuffers (%d iteration)\n", iter);
t0 = clock();
test_evbuffers(iter);
t1 = clock();
printf("Evbuffer runtime: %g\n", (double)(t1 - t0) / (double)CLOCKS_PER_SEC);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment