performance: add few restict and const key words

This should make the run to be couple percentages quicker.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
Sami Kerola 2012-11-05 21:05:42 +00:00
parent dbf3927c39
commit b61c93b7a1
3 changed files with 5 additions and 5 deletions

View file

@ -42,7 +42,7 @@
#include "dhcpd-pools.h" #include "dhcpd-pools.h"
/* Clean up data */ /* Clean up data */
static int ip_sort(struct leases_t *a, struct leases_t *b) static int ip_sort(const struct leases_t *restrict a, const struct leases_t *restrict b)
{ {
if (a->ip < b->ip) if (a->ip < b->ip)
return -1; return -1;
@ -61,8 +61,8 @@ int prepare_data(void)
/* Join leases and ranges into couter structs */ /* Join leases and ranges into couter structs */
int do_counting(void) int do_counting(void)
{ {
struct range_t *range_p; struct range_t *restrict range_p;
struct leases_t *l; const struct leases_t *restrict l;
unsigned long i, k, block_size; unsigned long i, k, block_size;
range_p = ranges; range_p = ranges;

View file

@ -168,7 +168,7 @@ int do_counting(void);
void flip_ranges(struct range_t *__restrict ranges, struct range_t *__restrict tmp_ranges) void flip_ranges(struct range_t *__restrict ranges, struct range_t *__restrict tmp_ranges)
__attribute__ ((nonnull(1, 2))); __attribute__ ((nonnull(1, 2)));
/* support functions */ /* support functions */
int xstrstr(char *__restrict a, const char *__restrict b, int len); int xstrstr(const char *__restrict a, const char *__restrict b, int len);
double strtod_or_err(const char *__restrict str, const char *__restrict errmesg); double strtod_or_err(const char *__restrict str, const char *__restrict errmesg);
void print_version(void) __attribute__ ((noreturn)); void print_version(void) __attribute__ ((noreturn));
void usage(int status) __attribute__ ((noreturn)); void usage(int status) __attribute__ ((noreturn));

View file

@ -50,7 +50,7 @@ int
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
__attribute__ ((hot)) __attribute__ ((hot))
#endif #endif
xstrstr(char *restrict a, const char *restrict b, int len) xstrstr(const char *restrict a, const char *restrict b, const int len)
{ {
int i; int i;
/* two spaces are very common in lease file, after them /* two spaces are very common in lease file, after them