this is getting more and more confusing. The one side says this is a bug, the 
other says it is a feature. I will try to summarize my understanding till now:
*  openser claims that they improved something and the ser guys say this fix is 
useless. Daniel, Bogdan could you plesase  explain what is really behind this 
improvement (Sorry Weiter, but your explanation is far from being sufficient).
* The ser guys show that openser is inferior to ser but Bogdan replies this is 
on purpose (because otherwise a strange race situation can occur which Andrei 
tells us is negligable).
* I will not get into the history discussion -which I have already touched in 
previous mails, let alone those mails about respect and the other stuff I could 
not really see how they relate to this discussion.
I would really appreciate if these points were clarified -I have the impression 
the ball is now with Daniel and Bogdan. So plesse Bogdan do not hold to your 
one mail policy and help clarifying this and provide a bit more of details on 
the improvements of openser to core and tm.

I believe Andrei has made a good suggestion that it is in the interest of the 
entire community to cooperate and divide the areas of interest. By combining 
the great work the openser guys have done in the area of documentation and 
featutres with the work of ser in the area of core we will all get an even 
better ser/openser.
I am afraid though that while this is surely in the interest of the community 
this might not be in the interest of the commercial entities behind the 
projects. 

Finally I fully agree with all of the voices that have asked to be polite and 
concentrate on the technical aspects of the dicussion.  I find it most 
destressing that in an environment that is based on cooperation for the benefit 
of all that an effort aiming at informing the community is faced with such 
remarks and sarcastic attitude.

best regards
Weiter Leiter <[EMAIL PROTECTED]> wrote: This definitely sounds impressive, 
but, FMI:

On 11/28/06, Andrei Pelinescu-Onciul <[EMAIL PROTECTED]> wrote: 
Why would you want to change the hash size from the config? Do you
really know somebody who wanted/needed to do this? If you use a variable 
for the hash size the compiler will not be able to optimize the modulo
operation (x % hash_size) and it will have to implement it using slow
DIVs. Using a 2^k constant the whole modulo operation will be optimized 
to  & (2^k - 1). A DIV takes minimum 56 cycles on a P4 and 16 on an
AMD64 (and this if the operands are in _registers_ which will probably
not happen for the variable containing the hash size). An  "and" takes 
only 1 cycle (and the operand is an immediate constant).
Look also at the rest of the hash function: it uses only XORs, shifts
and additions, operations that all execute in 1 cycle => for normal small
 uris your DIV operation will take a very significant time from the 
 total ammount spent hashing.
Unfortunately Daniel didn't reply anymore (maybe he wants to cover trade 
secrets ;-) ), but OpenSER uses now the much faster masking operation instead 
of the always costly modulo (which I expect to execute faster even with the 
cost of extra memory fetch for the hash size). I don't know whether hashing is 
also cheap or the result has a good distribution, but this should be something 
you should look at: I expect he did some research too, before changing, maybe 
this is a fix worth porting. 

WL.


 

 
---------------------------------
Check out the all-new Yahoo! Mail beta - Fire up a more powerful email and get 
things done faster.
_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to