Testing: add missing file
[GitX.git] / speed_test / global.c
blobf63068a9f3d45b11ad7bbeedf81c0cc3b3d27fad
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <xlocale.h>
4 #include <stdarg.h>
5 #include <unistd.h>
6 #include <string.h>
7 struct list {
8 void* columns;
9 int numColumns;
11 struct hash {
12 char value[40];
15 int main() {
16 srandomdev();
18 int i = 0; struct list* last;
19 int num = atoi("8000000");
21 int size = 1000;
22 int totColumns = 10000;
23 int currentColumn = 0;
25 /* Initialize initial list of revisions */
26 struct list* revisionList = malloc(size * sizeof(struct list));
27 struct hash* columns = malloc(totColumns * sizeof(struct hash));
29 struct hash standardColumn;
30 strcpy(standardColumn.value, "Haha pieter");
31 for (i = 0; i < num; i++) {
32 if (size <= i) {
33 size *= 2;
34 revisionList = realloc(revisionList, size * sizeof(struct list));
37 struct list* a = revisionList + i;
38 a->numColumns = i % 5;
39 if (currentColumn + a->numColumns > totColumns) {
40 totColumns *= 2;
41 printf("Reallocing columns. New total: %i\n", totColumns);
42 columns = realloc(columns, totColumns * sizeof(struct hash));
44 int j;
45 for (j = 0; j < a->numColumns; j++) {
46 //ccolumns[currentColumn++] = st
47 strncpy(columns[currentColumn++].value, "Haha pieter is cool", 20);
51 printf("Num value at 3000 is: %i vs %i\n", revisionList[3000].numColumns, (int) (5 * random()));
52 printf("Value of 1000'd column is: %s\n", columns[1000].value);
53 sleep(5);
54 return 0;