Programming with Judy
Using Judy
Using JudyL
Chapter 336
struct timeval TBeg, TEnd;
#define STARTTm gettimeofday(&TBeg, NULL)
#define ENDTm gettimeofday(&TEnd, NULL)
#define DeltaUSec \
((double)(TEnd.tv_sec * 1000000.0 + TEnd.tv_usec) \
- (TBeg.tv_sec * 1000000.0 + TBeg.tv_usec))
// End of timing routines
main( int argc, char **argv)
{
void *PJArray = 0; // main JudyL array
// key is random number, value is repeat count
void *PJCountArray = 0; // second JudyL array
// key is repeat count (from PJArray)
// value is count of items with the same
// repeat count
JError_t JError; // Judy error structure
ulong_t Index; // index in JudyLFirst/Next loop
ulong_t *PValue; // ptr to Judy array value
ulong_t *PGenCount; // ptr to generation count
ulong_t num_vals; // number of randoms to generate
ulong_t iter; // for loop iteration
ulong_t unique_nums; // number of unique randoms generated
ulong_t random_num; // random number
ulong_t median; // random number
ulong_t tmp1, tmp2; // temporary variable
double random_gen_time; // time to generate random numbers
ulong_t histo_incr; // histogram increment
unsigned long long ran_sum = 0; // sum of all generated randoms
// TITLE