The relevant part of the code is as follows:
char key[100];
char record[MAX_BYTES_PER_RECORD];
analyses = AllocateHashTable(0, 1);
strncpy(key,record + (startcol - 1),length);
strcat(key, "\0");
bck = HashFindOrInsert(analyses, PTR_KEY(analyses,key), 0);
bck->data++;
Is there something that I'm doing wrong? Is this a known issue with
the implementation? Any help will be greatly appreciated.
Regards,
Abhikesh
Hmm, I doubt much is known about the experimental C implementation
anymore at all. (I wrote it, but haven't used it in over 10 years.)
But the behavior your see seems surprising to me. You might try
instrumenting the code to see how many probes it's doing during lookup
(how many times it iterates through its loop). Or maybe profile it
and see if the time is all being spent in memcmp or memcpy or
something.
Sorry I can't be of more help. Report back what you find!
craig