-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild_benchmark.c
75 lines (57 loc) · 1.92 KB
/
build_benchmark.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <stdio.h>
#include <string.h>
#include <time.h>
#include "cpos.h"
#define HEADER_LEN 4
void header_callback(uint8_t len /* out */,
uint8_t *buf /* in */,
uint8_t *hlen /* in */)
{
sprintf(buf, "%0*d", HEADER_LEN, len);
*hlen = HEADER_LEN;
}
int main(void)
{
int i;
int count = 100000;
clock_t start, end;
start = clock();
struct isofield_cfg *ifield;
struct isomsg *imsg;
char buffer[1024];
ifield = cpos_init("cpos.cfg");
if (!ifield)
return 1;
for (i = 0; i < count; i++) {
imsg = cpos_msg_new();
if (!imsg)
return 1;
cpos_build_set_field(imsg, 2, "4729700101137365", 16);
cpos_build_set_field(imsg, 3, "880891", 6);
cpos_build_set_field(imsg, 4, "000000000000", 12);
cpos_build_set_field(imsg, 7, "1127041312", 10);
cpos_build_set_field(imsg, 11, "036030", 6);
cpos_build_set_field(imsg, 12, "111312", 6);
cpos_build_set_field(imsg, 13, "1127", 4);
cpos_build_set_field(imsg, 14, "0000", 4);
cpos_build_set_field(imsg, 15, "1128", 4);
cpos_build_set_field(imsg, 18, "6971", 4);
cpos_build_set_field(imsg, 32, "717", 3);
cpos_build_set_field(imsg, 33, "226", 3);
cpos_build_set_field(imsg, 37, "013331036030", 12);
cpos_build_set_field(imsg, 41, "00000036", 8);
cpos_build_set_field(imsg, 42, "000 ", 15);
cpos_build_set_field(imsg, 43, "ABCDFG ABCDEFGH 1234567", 40);
cpos_build_set_field(imsg, 49, "450", 3);
cpos_build_set_field(imsg, 61, "1339617306680", 13);
cpos_build_set_field(imsg, 103, "054201", 6);
cpos_build_msg(ifield, imsg, "0210", buffer, sizeof(buffer), header_callback);
//printf("Build message: [%s]\n", buffer);
cpos_msg_free(imsg);
}
cpos_close(ifield);
end = clock();
printf("Count: %d\n", count);
printf("Elapsed: %f seconds\n", (double)(end - start) / CLOCKS_PER_SEC);
return 0;
}