diff --git a/bench_str.csv b/bench_str.csv index 2db3b40..186622a 100644 --- a/bench_str.csv +++ b/bench_str.csv @@ -637,3 +637,8 @@ 1447211244,15335902.86,6019829.26,77672.30,1842297.15 1447211259,14365504.46,5812325.12,91180.52,1965977.09 1447211278,15175749.51,5931324.37,99864.38,1905029.23 +1447211529,15442994.79,5909448.56,91180.52,1953744.42 +1447211564,15175229.72,6100062.87,58254.22,1918667.68 +1447211712,15957717.02,6145969.23,77672.30,1960098.15 +1447211732,15692151.82,5725138.47,62601.55,1711560.29 +1447211755,15758474.73,6033801.22,82241.25,1995758.04 diff --git a/include/r3.h b/include/r3.h index a707c84..0b1604a 100644 --- a/include/r3.h +++ b/include/r3.h @@ -34,18 +34,22 @@ struct _node { pcre_extra * pcre_extra; // edges are mostly less than 255 - unsigned int edge_len; unsigned int compare_type; // compare_type: pcre, opcode, string - unsigned char endpoint; // endpoint, should be zero for non-endpoint nodes - unsigned char ov_cnt; // capture vector array size for pcre + unsigned int edge_len; + unsigned int endpoint; // endpoint, should be zero for non-endpoint nodes + unsigned int ov_cnt; // capture vector array size for pcre + + + route ** routes; + // the pointer of route data + void * data; // almost less than 255 unsigned char edge_cap; unsigned char route_len; unsigned char route_cap; - route ** routes; - // the pointer of route data - void * data; + + char _padding[ 64 - sizeof(unsigned char) * 3]; }; #define r3_node_edge_pattern(node,i) node->edges[i]->pattern