improve speed of bag occupied check

pull/1/head
Jethro Grassie 4 years ago
parent c3c3318b68
commit 016a4468eb
No known key found for this signature in database
GPG Key ID: DE8ED755616565BB

@ -42,6 +42,7 @@ struct gbag_t
char * b;
char * n;
char * ni;
char * no;
gbag_recycle rc;
gbag_moved mv;
};
@ -57,6 +58,7 @@ gbag_new(gbag_t **out, size_t count, size_t size,
gb->b = (char*) calloc(gb->max, gb->z);
gb->n = gb->b;
gb->ni = gb->b;
gb->no = (char*) calloc(1, size);
gb->rc = recycle;
gb->mv = moved;
*out = gb;
@ -76,6 +78,7 @@ gbag_free(gbag_t *gb)
}
}
free(gb->b);
free(gb->no);
gb->max = 0;
gb->ref = 0;
gb->b = NULL;
@ -89,11 +92,7 @@ gbag_free(gbag_t *gb)
static inline int
gbag_occupied(gbag_t *gb, char *el)
{
char *s = el;
char *e = el + gb->z;
while (s < e)
if (*s++) return 1;
return 0;
return *el || memcmp(el, gb->no, gb->z);
}
void *

@ -70,7 +70,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "uthash.h"
#define MAX_LINE 8192
#define CLIENTS_INIT 0x4000
#define CLIENTS_INIT 8192
#define RPC_BODY_MAX 8192
#define JOB_BODY_MAX 8192
#define ERROR_BODY_MAX 512

Loading…
Cancel
Save