diff --git a/bench_str.csv b/bench_str.csv index dd630b6..a407acb 100644 --- a/bench_str.csv +++ b/bench_str.csv @@ -581,3 +581,6 @@ 1401926686,10117457.56,3362173.28,55924.05,1994411.93 1401926711,11029110.99,4353057.39,49932.19,2239772.42 1401926725,10862072.89,2750694.08,32263.88,2104475.43 +1402402553,11294194.69,4189904.32,49932.19,2123185.29 +1402402565,11164650.78,4006360.04,55924.05,2049352.49 +1402402578,9943455.54,3781047.14,45590.26,2166878.84 diff --git a/include/r3.h b/include/r3.h index f46b061..6475ae8 100644 --- a/include/r3.h +++ b/include/r3.h @@ -31,8 +31,8 @@ struct _node { // edge ** edge_table; // edges are mostly less than 255 - unsigned char edge_len; unsigned char compare_type; // compare_type: pcre, opcode, string + unsigned char edge_len; unsigned char endpoint; // endpoint, should be zero for non-endpoint nodes unsigned char ov_cnt; // capture vector array size for pcre @@ -63,8 +63,8 @@ struct _node { #define node_edge_pattern_len(node,i) node->edges[i]->pattern_len struct _edge { - char * pattern; - node * child; + char * pattern; // 8 bytes + node * child; // 8 bytes unsigned char pattern_len; // 1 byte unsigned char opcode:4; // 4 bit unsigned char has_slug:1; // 1 bit