RE: contest #2
- Posted by bensler at mail.com Mar 17, 2002
- 382 views
I shouldn't say that it's faster. It depends on the duration of execution. <5000 total iterations, then 3 is faster. > 5000 total, then 8 is better. 8 takes longer to load, but lookups are a bit faster. Using my test, at 4000 total iterations (100 * 40 tests): 3 gives a total time of 2.69 8 gives a total time of 2.74 Using my test, at 40000 total iterations (1000 * 40 tests): 3 gives a total time of 15.32 8 gives a total time of 14.78 Those are consistent results. So, depending on what kind of testing Rob will be doing, will depend what I use. He has said he will be doing about 1000 iterations, but using how many tests? 1000 isn't enough to be accurate. I'm assuming there will be more than 10000 total calls to the routine. In which case, 8 is better. Chris euman at bellsouth.net wrote: > ----- Original Message ----- > From: <bensler at mail.com> > > > Yes please, > > I'll send it private. > > > I improved the last posted version of EumsHash() by changing the > > multiplier from 3 to 8(binary multiple). It gave me about a 5% to 10% > > increase calling the routine. > > That was one of my changes because the multiplier was originally "16" > the reason I set this to "3" was because of integer overflow and when > you > set this to "8" I just cant see how it helped speed you up any. > > I profiled the routine and stuck in "3" so "h" would be less than > #0FFFFFFF > > so this code would not be executed as often. > > if h > #0FFFFFFF then > poke4(m,h) > g = and_bits(peek(m), #F0) > h = xor_bits(h, g) > h = and_bits(h, not_bits(g)) > end if > > Im very surprised this helped you. Did you profile the routine set to > "8" > how often was the code executed (above) more than when its set at "3"? > > > However, if I don't fix the lookup for wild filters (filters with no > > absolutes), I doubt I will be winning. As is, I would be surprised if no > > > > one else is close or beating me. I know Derek is beating me. > > Fortunately, he's not competing :P > > > > Chris > > Euman > >